Hello all,

What I am about to say may be flamebait, I don't know, but it has 
started to bother me enough that I couldn't hold back any longer. I just 
feel I need to speak up.  I know many of the things in this e-mail may 
sounds harsh, but as someone deeply involved in OpenSG and who is 
betting their company's future on it I must call it like I see it.  So 
here goes, let's stir the pot up.  :)

The problem
-----------
I have been using OpenSG since the beginning and my company is currently 
using it for all of our development.  We do this because IMHO OpenSG is 
the most technically advanced open source scene graph out there.  But 
recently I have had to start re-examining whether it makes good business 
sense to keep using OpenSG.  Don't get me wrong, I love OpenSG, I think 
the developers are great, but OpenSG is losing out and is falling 
further and further behind other efforts, most notably OpenSceneGraph 
but also relative to other projects out there.

For an example of this just check out the following links:

  - http://www.openscenegraph.org/
     - Community activity: http://tinyurl.com/m3sxe
     - Siggraph 2006 presentation at: http://tinyurl.com/levs5     
     - Contributor list: http://tinyurl.com/rl7xc

OpenSceneGraph is growing by leaps and bounds.  They have nearly 200 
contributors to the codebase and have more plugins on the way.  I highly 
suggest that any OpenSG developer take a detailed look at the OSG 
website to get an idea of what they are up to.  As they say, know your 
enemy.  I know we don't often think of other open source projects as the 
"enemy", but remember that every user and contributor on OpenSceneGraph 
is one less for OpenSG.  Unfortunately it is a zero-sum game.

But back to OpenSG.  I have a simple question: What is the goal of 
OpenSG and the OpenSG developers?

Is the goal to have a codebase to do research?  To work on fun projects 
on the side?  Or is the goal something large like to create the most 
widely used open source graphics scene graph?

The state of things
-------------------
As it stands now I don't know what the goal is.  It really seems like 
there is no central direction or push to make real effort on the project 
towards a goal. There is no roadmap and it often seems like there is no 
rhyme or reason to the development direction. I know this sounds harsh, 
but I have heard multiple people describe it this way.

For example here are a short list of some of the symptoms I see.
   - No roadmap describing what needs to be done and who is working on 
it and no urgency to make progress.
   - Relatively few contributors.  There are several core contributors 
but very few community members contributing small bits of code.
   - Relatively few people in the graphics community know about OpenSG.
   - Still too few loaders compared to other scene graphs.  No one has 
an incentive to do this grunt work but it still needs done.
   - Many things never get completely done. (FLT loader, experimental code)
   - OpenSG 2.0 development is languishing.  There doesn't seem to be a 
big push to move over to this codebase.  When GV originally started on 
it many of the ideas were more advanced then any other scenegraph, now 
others are catching up and OpenSG 2.0 is still not moving forward very 
quickly.
   - Relatively difficult to build and install.  
      - There are multiple build systems.  I don't even know which one 
is the right one to use.
      - Need more pre-packaged builds for common platforms.
      - Need to get OpenSG into Fedora Extras and Debian (like 
OpenSceneGraph)
   - No promotion of new features
      - OpenSG has cluster-based rendering.  It can render over 1 
billion polys using a cluster but no one knows this.
      - Cluster rendering on tiled displays.
      - Occlusion culling was added a while back and there wasn't even a 
user announcement.
      - The shadowing code still has no public announcement.
      - Staged rendering in OpenSG 2.0.
      - These are all killer feature that nobody else has and OpenSG has 
had it for quite a while but there has been no demo, no announcements, 
nothing.  If we don't tell people about OpenSG how can we expect them to 
use it?
   - The webpage is confusing and hides the important information.  It 
is just hard to navigate.
      - No where does it say, "This is why you should use OpenSG" and 
"This is how it compares to scene graph XXX"
   - And more....
   
Sorry about all these, but I think it would be hard to say any of it is 
not true. :(

As a side note, I think that the reason for the current state of things 
(and correspondingly the reason that OpenSceneGraph is succeeding) is 
that as far as I know there is no one whose livelihood directly depends 
upon OpenSG.  There is no one whose full-time job is OpenSG development 
and consulting.  OpenSceneGraph benefits greatly in that Robert and Don 
have to make OpenSceneGraph succeed and work or they don't have an 
income to support their family.  That is a great motivator for success.


Call to action
--------------
Now to what can be done.  First, what do you all think?  Are these 
things issues in your opinion and more importantly do we really want to 
solve them?  If the goal of OpenSG is just to be a place to work on 
research code, then these issues might not matter.  If the goal is to 
create the dominant and most featureful scene graph, then I think these 
issues all matter.

I think many of these things can be corrected but it will require a 
commitment from the entire OpenSG community to take action and grow the 
community further. The two areas I see as being most important in the 
short term are active promotion and a shared roadmap.

Active promotion is important because we need to get the word out.  
People need to know about OpenSG and why they should use it.  If there 
is a new feature added to OpenSG, there needs to be a small demo in the 
source tree that is compiled with every distribution.  There needs to be 
a page on the website with screenshots and descriptions and we need to 
promote this demo on the web (opengl.org and all the others).  We need 
to make the website more community oriented and better organized to put 
the important information right there in the user's face.

I know marketing is not something developers worry about much, but it is 
important.  If the graphics community doesn't hear about what we are 
doing then all our effort is wasted.  It reminds me of something I heard 
about research one time.  "It is not research until it is published".  
Well, correspondingly it is not open source development until someone 
knows about it and uses it.

A shared roadmap is important for two reasons.  Users need to see where 
the project is heading and developers need to agree on where the project 
is heading so they know what to work on.  I think this is the key to 
keeping the project moving forward and maintaining inertia.  It is also 
a great way to get new contributors because it can help them be 
interested in what is going on.

What do you think?  Are these the most important current needs?


What we can do
--------------
So what can we do?  First, I think anyone that cares about this issue 
should reply to this e-mail and say so.  Correspondingly, if you think I 
am full of it, then reply and say that to.

After that discussion I hope we can start really documenting the goals 
and roadmap for the project.

For my part, I am willing to put my money where my mouth is so to 
speak.  I will do anything I can to help out the project and I will put 
the resources of my company at the community's disposal (within reason :)

For now what I can do is:
   - I will provide server space and network access for any tools, 
websites, build farms, whatever is needed.
   - I am working with Dirk on a single integrated build for OpenSG 2.0 
so we can finally have one build system
   - I am working on making pyOpenSG work with OpenSG 2.0.  After this 
is done I hope to create a small viewer application that could serve as 
a good demo of some of the advanced capabilities of OpenSG 2.0.
   - If there is interest I will consider giving free non-commercial 
access to our max exporter for OpenSG.  It automatically generates 
shaders to photo-realistically render the scene as closely as possible 
to the max software renderer.  (exports normal maps, bump maps, etc)
   - I can devote some time for our graphic designer to work on things 
like website graphics, models for demos, etc.  Let me know what you need 
and I will see how we can do it.
   - I will help out with marketing.  If you write the code and a demo, 
I will help make the webpage about it and post it everywhere on the web.


In closing I would like to say again, I love OpenSG.  It is technically 
superior to everything else out there.  I just want to make sure it 
stays that way and grows to its full potential.

-Allen

PS. At first I considered just sending this e-mail to the core 
developers that I know but I decided that since OpenSG is Open Source we 
should probably have all discussions in the open. :)


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to