Skip to main content

Using SceneGraph in commercial application

17 replies [Last post]
Anonymous

Hi,

I was wondering what the legal implications are of using the
SceneGraph library for a commercial product. Am I obliged to GPL my
product or can I simply link with SceneGraph so long as I don't modify it?

Thank you,
Gili

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
For additional commands, e-mail: dev-help@scenegraph.dev.java.net

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
samkass
Offline
Joined: 2004-09-22
Points: 0

You might check out http://code.google.com/p/piccolo2d/

It's a 2D scenegraph that appears to include the ability to embed Swing objects into the scenegraph.

software visualization

cowwoc,

Like I say I'm not employed by Sun in any way, I was just giving you a
glimpse into my own processing since we and probably others are similarly
situated.

I read the link you provided. This is how I understand what they're saying:

Java3D , like Swing, is still being actively supported. Both still work.
Bugs are pursued and new features in future releases are still happening.
Since Java3D contains a working scenegraph which was around before javaFXs
scenegraph, we are going to reconcile the two. In fact, the scenegraph
project itself, which was around before JavaFX, is also going to be
reconciled. All scenegraphs work as advertised, just as they always have.
Wouldn't it make sense to leverage the capabilities of each into a unified
platform, so Java3D can be used with JavaFX which can be used with Swing ?
Since they were developed at different times to meet different goals,
there's some work to be done there. We are doing that work. For now,
everything works andin the future everything will be interoperable.

There's licensing issues around the scenegraph I suspect. Some contributer
or dependency is GPLed no classpath. This is just a guess on my part. It's
going to either take some lawyering or some engineering or both to get the
scenegraph under a license people like us can live with.

I am not one to tell anyone what to think, all this is just my take on
things. I don't see Sun abandoning anything. Not Swing and not Java3D.
Java3D is very usable,
http://www.manning.com/selman/
http://www.manning.com/barrilleaux/

and despite the upsetness on the part of some observers (someone moved my
cheese!), Swing is still full on, still the best UI toolkit and will only be
made better when 2 way interoerability between it and JavaFX is realized. .
All I know is, damn, my cheese is on the MOVE. Making sense and making the
right long-term decision in the face of not exactly what I need at this time
is what makes great companies stand out from also rans. At least, that's the
pep talk I give myself. :)

On Mon, Feb 16, 2009 at 10:08 PM, cowwoc wrote:

>
> With all due respect, look at what Sun did with Java3D. Case in
> point: https://java3d.dev.java.net/servlets/NewsItemView?newsItemID=5689
>
> Speaking of which, I wonder what they meant when they wrote "we are
> working on a new 3D scene graph, as part of the JavaFX player, that will
> complement the 2D Scenario scene graph. [...] For more information on the 2D
> scene graph, see https://scenegraph.dev.java.net/"
>
> What does this mean? I was under the impression that scenegraph
> already did 3D...?
>
> Back to the issue at hand... I have no interest in using JavaFX at
> this time. I want to build a standalone desktop application in Java using
> 2D/3D scenegraph. I don't want to "ride the wave". I just want a damn thing
> that works. It's extremely frustrating to see one scenegraph APIs after
> another enter the market only to die a year later.
>
> Why can't the scenegraph developers give a clear answer as to what
> is going on? Even stating that you're not allowed to discuss the license or
> roadmap would be more useful than the silence treatment I see in the mailing
> list archives. This is very reminiscent the way Sun dumped Java3D.
>
> I want to invest hundreds of thousands of dollars in client-side
> Java, but I can't do it until Sun provides me with the necessary ammunition.
> I'd be a fool to risk my company's future on rumor alone. Throw me a bone,
> please! :)
>
> PS: This link might interest you:
> http://stackoverflow.com/questions/555347/3d-scene-graph-library-for-java
>
> Gili
>
> software visualization wrote:
>
>> You can use scenegraph if you use JavaFX without encountering a licensing
>> issue. You can use all of Swing inside a JavaFX application. Sun is
>> committed to making JavaFX usable from a Swing application in future
>> releases of JavaFX. Also, Java3D has a scenegraph approach (it has a
>> scenegraph) and there are almost certainly other scenegraphs written in Java
>> out there also.
>>
>> Sun is throwing a considerable amount of engineering effort into JavaFX
>> and the accompanying libraries, scenegraph included. This is where their
>> considerable talents are going in terms of innovatiion know-how. What this
>> means to people in our position - people wearing CTO hats and deciding which
>> technology to build on, is that if we have the savvy to "go with" JavaFX at
>> a time when it's not quite a perfect fit, we will reap big rewards in
>> near-future releases, including transparent porting of applications to and
>> from RIA environments and the desktop, accelerated scenegraph rendering
>> beyond what the JVM might give us on its own in terms of graphics
>> processing, and speed and ease of development for applications in which
>> there is a strong animation / graphic rendering component.
>>
>> I am not a Sun employee or anything like that, I'm just in the same boat
>> as everyone else - it's not "there" for my needs yet, but the question is -
>> do I want to commit to another technology and risk being left on the
>> sidelines watching as the JavaFX / Scenegraph / JWebKit / Animation
>> Framework etc. etc. applications start hitting? Is Qt having resources
>> poured into it like JavaFX is? My take on this question is- I am essentially
>> outsourcing huge amounts of code I would otherwise write to Sun's engineers,
>> and also assiging them the task of preparing the market on handsets,
>> desktops, browsers and set-top / blu-ray boxes for the platform I chose.
>>
>> cheers.
>>
>> On Mon, Feb 16, 2009 at 5:19 PM, >> scenario@javadesktop.org>> wrote:
>>
>> yes, sorry forgot about that
>> http://en.wikipedia.org/wiki/License_compatibility
>>
>> seams like everything which is open source and less restrictive than
>> GPL is GPL compatible (BSD, LGPL...)
>> [Message sent by forum member 'mbien' (mbien)]
>>
>> http://forums.java.net/jive/thread.jspa?messageID=332124
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
>>
>> For additional commands, e-mail: dev-help@scenegraph.dev.java.net
>>
>>
>>
>>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
> For additional commands, e-mail: dev-help@scenegraph.dev.java.net
>
>
[att1.html]

johannabartley
Offline
Joined: 2008-02-01
Points: 0

I've been using this app in a site used to find people over the internet and no one asked me for any copyright fee. It's true that the service is free and I don't get any real profit from it. If I would maybe I would have asked the same question you did before release.

william13163
Offline
Joined: 2008-03-19
Points: 0

Please see this thread:

http://forums.java.net/jive/thread.jspa?threadID=41965&tstart=0

It should answer your question(s).

cowwoc

Thank you. It's sad to see there has been no progress made in over 6
months but at least I now know the answer. I'm trying to push the use of
Swing + Timing Framework + SceneGraph inside my own company but this
licensing issue makes it impossible. My supervisor is pushing for Qt
instead, now that it's LGPL.

Thanks again,
Gili

scenario@javadesktop.org wrote:
> Please see this thread:
>
> http://forums.java.net/jive/thread.jspa?threadID=41965&tstart=0
>
> It should answer your question(s).
> [Message sent by forum member 'william13163' (william13163)]
>
> http://forums.java.net/jive/thread.jspa?messageID=332105
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
> For additional commands, e-mail: dev-help@scenegraph.dev.java.net
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
For additional commands, e-mail: dev-help@scenegraph.dev.java.net

cowwoc

I just noticed that no one has committed any code to this project in
over 6 months. What happened? Has the project moved somewhere else? Is
it still under active development?

Are there any other good APIs for building mini-games with 2.5D
graphics in Java? How does SceneGraph compare with JMonkeyEngine? Both
have SceneGraphs, and 3D effects only JMonkeyEngine seems to be a mature
product with a BSD license. Am I missing something?

Thank you,
Gili

cowwoc wrote:
>
> Thank you. It's sad to see there has been no progress made in over 6
> months but at least I now know the answer. I'm trying to push the use of
> Swing + Timing Framework + SceneGraph inside my own company but this
> licensing issue makes it impossible. My supervisor is pushing for Qt
> instead, now that it's LGPL.
>
> Thanks again,
> Gili
>
> scenario@javadesktop.org wrote:
>> Please see this thread:
>>
>> http://forums.java.net/jive/thread.jspa?threadID=41965&tstart=0
>>
>> It should answer your question(s).
>> [Message sent by forum member 'william13163' (william13163)]
>>
>> http://forums.java.net/jive/thread.jspa?messageID=332105
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
>> For additional commands, e-mail: dev-help@scenegraph.dev.java.net
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
For additional commands, e-mail: dev-help@scenegraph.dev.java.net

mbien
Offline
Joined: 2007-04-29
Points: 0

>>I just noticed that no one has committed any code to this project in
over 6 months.<<
scenario is now a internal project. It is still the backend for everything you see in javafx. If we don't hear something about open sourcing at javaone, imo scenario pretty much died the same death as java3d.

> Are there any other good APIs for building
> g mini-games with 2.5D
> graphics in Java? How does SceneGraph compare with
> JMonkeyEngine? Both
> have SceneGraphs, and 3D effects only JMonkeyEngine
> seems to be a mature
> product with a BSD license. Am I missing something?
>
> Thank you,
> Gili

there are a lot of scenegraphs and low level apis available for building casual games in java. Just do a forum search on javagaming.org.

e.g slick, pulpcore (...) are designed to build rich 2d apps/games.

jogl, lwjgl are more low level opengl bindings without scenegraphs. JMonkeyEngine, Xith3d (...) are more high level and primary for 3d apps. Physics engines (jbullet, physix4java, Phys2d...) everything ready to go and with friendly licenses.

If you are looking for a game api i would not recommend scenario. Scenario is the only scenegraph I know without the word "game" in the package name or project description which makes it rather interesting for enterprise apps than for games. (try to introduce a game api in a serious non gaming project and you now what i mean...)

cowwoc
Offline
Joined: 2003-08-24
Points: 0

> there are a lot of scenegraphs and low level apis
> available for building casual games in java. Just do
> a forum search on javagaming.org.
>
> e.g slick, pulpcore (...) are designed to build rich
> 2d apps/games.
>
> jogl, lwjgl are more low level opengl bindings
> without scenegraphs. JMonkeyEngine, Xith3d (...) are
> more high level and primary for 3d apps. Physics
> engines (jbullet, physix4java, Phys2d...) everything
> ready to go and with friendly licenses.
>
> If you are looking for a game api i would not
> recommend scenario. Scenario is the only scenegraph I
> know without the word "game" in the package name or
> project description which makes it rather interesting
> for enterprise apps than for games. (try to introduce
> a game api in a serious non gaming project and you
> now what i mean...)

What do you think of the idea of using Xith3D (or any other game-oriented API) for application development? Is there a downside? or is it a superset of 2D engines like scenegraph? With respect to Xith3D specifically I'm finding it hard to gauge how active the project is. Do you happen to know?

I'm trying to build a desktop application that will involve both standard Swing components as well as custom game components. Most graphics will be 2D but some will involve 3D transformations.

Thanks,
Gili

mbien
Offline
Joined: 2007-04-29
Points: 0

there are no downsides as long your app has similar requirements as a game: to look good and run fast. Highlevel game engines provide also apis like sound (in java land its JOAL or FMOD), input (controllers...) and solve common game problems like indoor/outdoor scenes, first person view, model loading etc.

The only downside is probably that you won't use 50% of the apis in a non gaming application ;)

two more links for you:
http://www.ardor3d.com
http://aviatrix3d.j3d.org/

> What do you think of the idea of using Xith3D (or any
> other game-oriented API) for application development?
> Is there a downside? or is it a superset of 2D
> engines like scenegraph? With respect to Xith3D
> specifically I'm finding it hard to gauge how active
> the project is. Do you happen to know?
>
> I'm trying to build a desktop application that will
> involve both standard Swing components as well as
> custom game components. Most graphics will be 2D but
> some will involve 3D transformations.
>
> Thanks,
> Gili

cowwoc
Offline
Joined: 2003-08-24
Points: 0

> there are no downsides as long your app has similar
> requirements as a game: to look good and run fast.
> Highlevel game engines provide also apis like sound
> (in java land its JOAL or FMOD), input
> (controllers...) and solve common game problems like
> indoor/outdoor scenes, first person view, model
> loading etc.
>
> The only downside is probably that you won't use 50%
> of the apis in a non gaming application ;)

That's okay. I'd rather have too much functionality and strip it out using Proguard than have too little and get stuck. So long as the API is easy to use, has an active community, good license and good performance all else is negotiable.

> http://aviatrix3d.j3d.org/

This is a visualization library so I worry it might be missing some visual effects I might want to use. I'm probably not their target audience.

> http://www.ardor3d.com

The architecture looks very interesting but there is a complete lack of documentation so I'm not sure whether the implementation is usable or even meets my requirements. Can you tell me more about this?

The more I look the more I think Xith3D is probably my best option so far. My only complaints so far is:

- Some classes are poorly documented (missing Javadoc, etc)
- Total lack of roadmap. Users are expects to run off "trunk".

Still, it's a mature API, has been around a long time and seems to still be quite active...

mbien
Offline
Joined: 2007-04-29
Points: 0

hi,

sorry for being late. Yes Xith3d is pretty mature. It started as extension for java3d back when java3d was closed source and is now a standalone project.

Ardor3d is a green field project from the JMonkeyEngine devs but its pretty young thats why there is almost no doc available.

Xith3d would be probably the lowest risk choice - but you know no risk no fun ;)

mbien
Offline
Joined: 2007-04-29
Points: 0

as long you are GPLing your commercial product too (and provide the sources) you should be safe to use any pure GPL library you like ;)

liquid
Offline
Joined: 2005-06-16
Points: 0

it would be more accurate to say that you actually have to release your commercial product under a gpl-compatible license than under the gpl per se

or you can use the scenegraph version 1.0+ (by depending on the javafx runtime), closed source, different license requirements.

both are equally viable options in my book, each have pros and cons

mbien
Offline
Joined: 2007-04-29
Points: 0

yes, sorry forgot about that
http://en.wikipedia.org/wiki/License_compatibility

seams like everything which is open source and less restrictive than GPL is GPL compatible (BSD, LGPL...)

software visualization

You can use scenegraph if you use JavaFX without encountering a licensing
issue. You can use all of Swing inside a JavaFX application. Sun is
committed to making JavaFX usable from a Swing application in future
releases of JavaFX. Also, Java3D has a scenegraph approach (it has a
scenegraph) and there are almost certainly other scenegraphs written in Java
out there also.

Sun is throwing a considerable amount of engineering effort into JavaFX and
the accompanying libraries, scenegraph included. This is where their
considerable talents are going in terms of innovatiion know-how. What this
means to people in our position - people wearing CTO hats and deciding which
technology to build on, is that if we have the savvy to "go with" JavaFX at
a time when it's not quite a perfect fit, we will reap big rewards in
near-future releases, including transparent porting of applications to and
from RIA environments and the desktop, accelerated scenegraph rendering
beyond what the JVM might give us on its own in terms of graphics
processing, and speed and ease of development for applications in which
there is a strong animation / graphic rendering component.

I am not a Sun employee or anything like that, I'm just in the same boat as
everyone else - it's not "there" for my needs yet, but the question is - do
I want to commit to another technology and risk being left on the sidelines
watching as the JavaFX / Scenegraph / JWebKit / Animation Framework etc.
etc. applications start hitting? Is Qt having resources poured into it like
JavaFX is? My take on this question is- I am essentially outsourcing huge
amounts of code I would otherwise write to Sun's engineers, and also
assiging them the task of preparing the market on handsets, desktops,
browsers and set-top / blu-ray boxes for the platform I chose.

cheers.

On Mon, Feb 16, 2009 at 5:19 PM, wrote:

> yes, sorry forgot about that
> http://en.wikipedia.org/wiki/License_compatibility
>
> seams like everything which is open source and less restrictive than GPL is
> GPL compatible (BSD, LGPL...)
> [Message sent by forum member 'mbien' (mbien)]
>
> http://forums.java.net/jive/thread.jspa?messageID=332124
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
> For additional commands, e-mail: dev-help@scenegraph.dev.java.net
>
>
[att1.html]

cowwoc

With all due respect, look at what Sun did with Java3D. Case in point:
https://java3d.dev.java.net/servlets/NewsItemView?newsItemID=5689

Speaking of which, I wonder what they meant when they wrote "we are
working on a new 3D scene graph, as part of the JavaFX player, that will
complement the 2D Scenario scene graph. [...] For more information on
the 2D scene graph, see https://scenegraph.dev.java.net/"

What does this mean? I was under the impression that scenegraph already
did 3D...?

Back to the issue at hand... I have no interest in using JavaFX at this
time. I want to build a standalone desktop application in Java using
2D/3D scenegraph. I don't want to "ride the wave". I just want a damn
thing that works. It's extremely frustrating to see one scenegraph APIs
after another enter the market only to die a year later.

Why can't the scenegraph developers give a clear answer as to what is
going on? Even stating that you're not allowed to discuss the license or
roadmap would be more useful than the silence treatment I see in the
mailing list archives. This is very reminiscent the way Sun dumped Java3D.

I want to invest hundreds of thousands of dollars in client-side Java,
but I can't do it until Sun provides me with the necessary ammunition.
I'd be a fool to risk my company's future on rumor alone. Throw me a
bone, please! :)

PS: This link might interest you:
http://stackoverflow.com/questions/555347/3d-scene-graph-library-for-java

Gili

software visualization wrote:
> You can use scenegraph if you use JavaFX without encountering a
> licensing issue. You can use all of Swing inside a JavaFX application.
> Sun is committed to making JavaFX usable from a Swing application in
> future releases of JavaFX. Also, Java3D has a scenegraph approach (it
> has a scenegraph) and there are almost certainly other scenegraphs
> written in Java out there also.
>
> Sun is throwing a considerable amount of engineering effort into JavaFX
> and the accompanying libraries, scenegraph included. This is where their
> considerable talents are going in terms of innovatiion know-how. What
> this means to people in our position - people wearing CTO hats and
> deciding which technology to build on, is that if we have the savvy to
> "go with" JavaFX at a time when it's not quite a perfect fit, we will
> reap big rewards in near-future releases, including transparent porting
> of applications to and from RIA environments and the desktop,
> accelerated scenegraph rendering beyond what the JVM might give us on
> its own in terms of graphics processing, and speed and ease of
> development for applications in which there is a strong animation /
> graphic rendering component.
>
> I am not a Sun employee or anything like that, I'm just in the same boat
> as everyone else - it's not "there" for my needs yet, but the question
> is - do I want to commit to another technology and risk being left on
> the sidelines watching as the JavaFX / Scenegraph / JWebKit / Animation
> Framework etc. etc. applications start hitting? Is Qt having resources
> poured into it like JavaFX is? My take on this question is- I am
> essentially outsourcing huge amounts of code I would otherwise write to
> Sun's engineers, and also assiging them the task of preparing the market
> on handsets, desktops, browsers and set-top / blu-ray boxes for the
> platform I chose.
>
> cheers.
>
> On Mon, Feb 16, 2009 at 5:19 PM, > > wrote:
>
> yes, sorry forgot about that
> http://en.wikipedia.org/wiki/License_compatibility
>
> seams like everything which is open source and less restrictive than
> GPL is GPL compatible (BSD, LGPL...)
> [Message sent by forum member 'mbien' (mbien)]
>
> http://forums.java.net/jive/thread.jspa?messageID=332124
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
>
> For additional commands, e-mail: dev-help@scenegraph.dev.java.net
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@scenegraph.dev.java.net
For additional commands, e-mail: dev-help@scenegraph.dev.java.net

aces
Offline
Joined: 2003-07-17
Points: 0

I agree that GPL libs are a real problem for non-GPL projects.
But there are good scenegraphs libs with other kind of licenses, not so restrictive as GPL.
Pick one and use it.

IMHO, there is NO perfect software.
Even widely supported standards suffer with severe drawbacks from time to time.
See OpenGL applications :
It's a very good API, but it was very close to death, at least on Win platforms, just before MS Vista launch. It still suffers a lot with weak implementations from some vendors.
OpenGL survived, but not without pain.

Ok, so let's use Direct X !
Witch one ? DX 9.0 is ageing, DX10 has unrealistic specs and a failure as Vista, DX 11 is coming with Window 7.
Current DX9 engines would be completely rewritten to be DX10/11 compatible. It is expensive, complex and tricky.

But I need to work today, not when all problems were solved.
If I'm going to use a new library in my projects I have some questions to be answered :

About license :
* Does the licence fits project requirements ?
* Does it allows to distribute runtime for my clients ?

About the API :
* Is it documented ? (Javadocs, tutorials, examples, books, etc)
* Can I have the source code - for debugging and quick in house fixes ? (That is what makes open source very interesting)
* Can I submit my RFE and bug fixes ? (read previous comments)
* Has a list of known bugs ? (old bugs are not problem, new ones are)
* Has a community about it ? (forums, blogs, etc)

If my company seriously rely on some libraries, I would seriously think about supporting it. I'd like to think I have some control in my life, and my job.

Regards,
A.

Additional comment:
Please, there is no need to answer above questions.
This is my check-list, not an inquisition about OpenJFX / FX. It is good and I'm going to use it as soon as possible.

Message was edited by: aces