Showing posts with label OGE. Show all posts
Showing posts with label OGE. Show all posts

Saturday, October 4, 2008

An Open Source Legal Breakthrough

Good day for the OpenSource movement : 'An appeals court has erased most of the doubt around Open Source licensing, permanently, in a decision that was extremely favorable toward projects like GNU, Creative Commons, Wikipedia, and Linux.'

Here is the Slashdot story and the original court content can be found at JMRI Defense: Court Papers (http://jmri.sourceforge.net/k/docket/index.shtml).

This is only in the US but as they are the most litigious for frivolous reason this should protect most of the open source community :D

What is frightening is that Katzer patented and started sending invoices to Jacobsen for work that Jacobsen did! And it took a whole court procedure to defend Jacobsen...

It should be obvious in this case that Katzer should be condemned for extortion!

However the most pertinent comment in my opinion is the following:

"This was an appeals court decision. The appeals court doesn't decide all those things. The legal issue was whether the license was enforceable under copyright law, or whether it was a "mere covenant," meaning that Jacobsen would get nothing because he was not making money off the software. The lower court had ruled that it was a mere covenant. On appeal, the Federal Circuit vacated that ruling, which means it now goes back to the trial court to apply the "correct" law as announced by the Fed. Cir.

Two takeaway lessons, one for Big Business, and one for developers. For Big Business, you can't infringe on the copyrights of open source developers with impunity. For developers, even if you are doing open source software, REGISTER YOUR COPYRIGHT. If you register your copyright up front, you can get statutory damages and attorney fees if some idiot from Big Business decides to try this kind of stunt. Those damages are almost always more than the "actual" damages you'll get for software that you give away for free (as in beer). If you wait until after somebody infringes before you file your copyright, it's too late. And registering is cheap and easy [copyright.gov]. In many cases, you don't even need to get an attorney involved (although if you need a patent or trademark or help with a copyright, I know this really great IP attorney who also posts on Slashdot and is clued in on open source. [jw.com]

And despite the stuff above that may look like 'advice" to the untrained eye, this post absolutely, positively is NOT legal advice."

Fortunately for OGE we have a dual license and we intent to get payments for the commercial license :)

More depressing is this following comment implying that this "Breakthrough" is very limited in scope.


Thursday, September 4, 2008

Dystopia Studios

Wow big day.

I created my company: www.dystopiastudios.com

What can I say?
It seems a bit surealistic that I did it after the ages I dream of it.

I think I deserve my last calm evening for the next few years :D

Btw I trademarked the name "dystopia studios" :D

Now I must think about a nice logo.

Thursday, August 21, 2008

Zfone makes your VoIP phone secure

Interesting project.

I heard about it via an article in "The Economist" that Skype is already so encrypted that spy agencies have difficulties with it (only the NSA has the means to crack it). And that Zfone would be even more difficult to crack.

http://zfoneproject.com/prod_zfone.html

Zfone is a new secure VoIP phone software product which lets you make secure encrypted phone calls over the Internet.
...
Windows XP, Vista, Mac OS X, or Linux. Zfone runs on Windows XP and Vista, both 32-bit and 64-bit versions. Zfone will encrypt audio and video for Apple iChat calls on Mac OS X. Zfone has been tested with these VoIP clients: X-Lite, Gizmo, XMeeting, Google Talk VoIP client, Yahoo Messenger's VoIP client (for audio), and SJphone. It does not work with Skype.


I wonder if we could support it at some point in OGE via the sdk:
http://zfoneproject.com/prod_sdk.html

It had a dual license (GPL & commercial) but it seems we could discuss with them as we are an open-source project and it would anyway be a plugin: http://zfoneproject.com/lic_policy.html

Saturday, March 1, 2008

My first mesh... and a comment from my son

Half a day to create my first mesh it should be a wagon... and I have no idea if this is a good performance or not :D

So that I can remember how I did it, here is a short description of the steps needed to create this image with Ogre, Blender and visualise the result in OGEd:

  1. Launch Blender and try to use it.
  2. Search online Blender tutorial to understand the most basic commands: Blender User Interface Tutorial, Modelling A Cube, Selecting Meshes and Using Textures.
  3. Struggling like hell to select faces, rescaling, subdividing to create more faces, destroy some faces to create doors and windows, ...
  4. Repeating step 3 several times.
  5. Reread 'Using Textures' to understand how to apply textures.
  6. Save and repeat steps 3-5 until you get this wagon. Forget about making a complex multiple windows wagons.
  7. Using the steps on "Blender to Ogre" to determine how to export the mesh:
    1. Copy the Pyhton script from ogrenew/tools/BlenderExport to the blender folder
    2. Read the documentation in BlenderExport/ogrehelp/ogremeshesexporter.html
    3. Realise that Blender must have a version newer than 2.44 (mine is 2.43)
    4. Download Blender, reinstall it, reload the mesh.
    5. Realise that I didn't compile OgreXmlConverter (/ogrenew/tools/XMLConverter)
    6. Install OgreXmlConverter and set up the mesh exporter correctly.
    7. I said correctly.
    8. .... no mesh appear in the exporter.... lose time to understand that you need to select the object and click Update if you want the mesh to be exported.
  8. (Repeat from step 5 because there was no textures on some faces...)
  9. At last the export works and here are:
    1. MyMesh.mesh.xml and
    2. MyMesh.material
  10. Now you must convert it to a .mesh so that Ogre can understand it. So you search the doc to find that you need XMLConverter again.
  11. In a console you type "OgreXmlConverter MyMesh.mesh.xml" and you get MyMesh.xml
  12. You load the mesh, material and texture in a mesh viewer (OGEd for example).
  13. .... and you see that the mesh is turned 90 degree on its x axis.... Bags!
  14. You find that the ogre addons MeshMagick can rotate a mesh.
  15. You try to compile it and stumbles on a compile error...
    1. You check the code and see that this can't compile.
    2. So you make a quick fix (who needs to convert mesh skeleton anyway... humpf... I will need to compile this correctly at one time).
    3. You type a bug report about this skeleton bug.
  16. You rotate it... in the wrong direction... redo it.
  17. Reload all in OGEd and... yes it shows correctly.
That was easy - I will watch a movie now.

Comment from my son (3.5 years old) "Dady doesn't even know how to make wheels!". I will disinherit him...

Thursday, November 8, 2007

OGEd - Ogre/OGE editor

A week ago I began work on an oge/ogre editor.

As oge uses ogre resources such as .material, .mesh, etc this editor can also be used as a resources editor for Ogre3D.

Even after one week when the code is fairly minimal I already understand better the interdependences of the ogre resources and this will oblige me to make a small refactoring.

Discovering as you code new features or libraries complexities is one of the main reason that "linear project management" (aka Waterfall model : requirements -> analysis-> design -> coding -> testing -> installation) is possible only if you know extensively your environment. When dealing with a medium sized project or libraries you don't know in depth a "recursive project management" (aka Spiral model) is much preferable.

One book I must read is the second edition of Code Complete... one more TODO :)

Sunday, October 21, 2007

OGE shooting!


Our project OGE passed a critical milestone I can now create game, level and scene objects. Even if the code still needs some polishing before committing to cvs I were able to create a very basic fps. You can move, jump and shoot - what do you need more in a fps ? ;)

Wednesday, October 10, 2007

Khavi.org

L'autre jour je suis tombé sur le site de khavi.
Leur mission: "to gather and provide free electronic grooves".

Totalement gratuit les musiques qu'on peut télécharger sont excellentes... Si on aime la musique éléctronique d'ambiance bien-sûr.

Pour les programmeurs je ne peux que conseiller cette musique elle permet une bonne concentration sans fatigue auditive.

http://www.kahvi.org/

Des compilations se trouve ici:
http://www.kahvi.org/m01.php

Thursday, September 13, 2007

OpenAl & ogg/ vorbis libraries

In our engine we were using Alut to be able to load and play .wav audio files.
However there was two points we didn't like:
- Alut is a messy C code without namespace and lots of defines that have very generic names. Hence we tread interactions between the alut code and ours (or the programmer using oge).
- We use alut only for Wav files which is a proprietary codec. And as we want to use open license audio codec (such as ogg) we need to recreate some parts of alut anyway.

Hence I decided to rewrite the oge::AudioManager to remove any alut dependencies and add libogg and libvorbis support. And after some hours of work here it is ogg support (streamed or in-memory). As wav files are very common I must also rewrite the alutLoadWAV method.

It is a preliminary version and will need some tweaking - especially the audio update loop must be robust and without any cpu expensive work or some clicks can occur. Streaming without a separate thread would be impossible.

The code will be committed to the SourceForge cvs in a few days - I am waiting a commit from my partner.

Friday, August 31, 2007

Physics libraries

In our project (OGE) we are in need of a physics library to add features such as collision, gravity, etc. We studied various available open-source libraries as our engine aims to be also open-source.

Until now our preference went to OPAL which gave a nice abstraction above ODE. It added nice features such as spaces. However the developers found that it at matured enough and don't want to add more features in it - they only do bug fixes now. To demonstrate the lack of interest even their wiki was down more than 2 months without any developers reacting (they didn't even knew about it before I send them an email).
So we began to search for another one because there are features we would like to add.

And we found a gem : Impulse (IBDS) it is very new, developed by a single person but very very promising. He is actively involved and adds new features nearly on a daily rate.
We discussed with him and seems interested in adding the features we seek: cloth, cloth+ collision, hair, breakable objects, ... Even liquid in the future.
It is cross-platform I had no problem in compiling it with mingw.

Wow... this is a lib I will follow.
Sorry OPAL you were are good pal.

Sunday, August 19, 2007

Stupid memory patent !

I was looking how to make my Memory Mgr thread safe.

So I thought TWO seconds and I said to myself I should "use a heap for each thread" ... Seems obvious, no?

I thought about that one year ago but hadn't the time to implement it.

Now after a simple google I fall on THAT : http://www.patentstorm.us/patents/7111294.html
A patent issued on sept 06 on "thread-specific heap"

What the f***...
Are the legislators so stupid they can't see what is obvious!

America will fall because of all those legislations.

Wednesday, August 15, 2007

OGE Component / Object framework

Today is a day to be marked with a white stone :)

My implementation of the Component/Object design I envisioned worked as planned.

In particular I was able to add Serialisation to it without too much difficulties. Especially when you consider the flexibility given to you by the component/object structure in creating custom objects.

I need to clean it a bit, write some docs and I can commit it on the OGE sourceforge cvs.

Monday, August 13, 2007

Import/export symbols mystery

Wow... we added recently the zlib and zziplib libraries to OGE.

The mingw (3.4.5) debug version of oge builds and runs perfectly.
The difficulty came during link time of the release version of OGE:
  • with zlib.a half the symbols and methods are not exported !
  • with zlib_d.a it links perfectly.
At least I could pinpoint the problem... I must now find why.
I suppose it is caused by preprocessor symbols but a quick look didn't show me something obvious.

At least I can go back on working on the Component/Object system code which has priority.