The Source for Java Technology Collaboration

Home » java.net Forums » Mobile & Embedded » LWUIT

Thread: License agreement and obfuscation

Welcome, Guest Help
Login Login
Guest Settings Guest Settings
This question is not answered. Helpful answers available: 2. Correct answers available: 1.

Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 19 - Last Post: Oct 21, 2008 11:43 AM by: Shai Almog
badgrs

Posts: 2
License agreement and obfuscation
Posted: Oct 14, 2008 10:55 AM
 
  Click to reply to this thread Reply

Hi,

I am looking at using LWUIT for a commercial application. From the looks of the license agreement for the redistributable .jar, I would not be allowed to optimize and obfuscate the archive as part of my build process, is that correct?

drdth

Posts: 132
Re: License agreement and obfuscation
Posted: Oct 14, 2008 7:42 PM   in response to: badgrs
 
  Click to reply to this thread Reply

Ouch - are you serious ?? What part of the agreement are you referring to ?

:-/

Shai Almog
Re: License agreement and obfuscation
Posted: Oct 14, 2008 10:20 PM   in response to: badgrs
  Click to reply to this thread Reply

Hi,
you would be allowed to use the binary version without restriction.
As far as I can tell (and I am not a lawyer or a Sun representative
for that matter) it is also legal to use the LWUIT sources to compile
and build.
There were some discussions with the lawyers to clarify that but
since I am not authorized in any way to say what is allowed and isn't
just watch Terrences blog for clarifications there where it will be
"official" from Sun: http://weblogs.java.net/blog/terrencebarr/

> Hi,
>
> I am looking at using LWUIT for a commercial application. From the
> looks of the license agreement for the redistributable .jar, I
> would not be allowed to optimize and obfuscate the archive as part
> of my build process, is that correct?
> [Message sent by forum member 'badgrs' (badgrs)]
>
> http://forums.java.net/jive/thread.jspa?messageID=306871
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@lwuit.dev.java.net
> For additional commands, e-mail: users-help@lwuit.dev.java.net
>

Shai Almog
http://lwuit.blogspot.com/

[att1.html]


terrencebarr

Posts: 544
Re: License agreement and obfuscation
Posted: Oct 15, 2008 1:52 AM   in response to: badgrs
 
  Click to reply to this thread Reply

badgrs,

Please check my blog here:

http://weblogs.java.net/blog/terrencebarr/archive/2008/08/lwuit_released_1.html#comments

I just answered a similar question a few days ago.

Hope that answers it. Best,

-- Terrence

drdth

Posts: 132
Re: License agreement and obfuscation
Posted: Oct 15, 2008 2:14 AM   in response to: terrencebarr
 
  Click to reply to this thread Reply

Thanks for this clarification, Terrence. Now as many important and life-saving patches are only accessible via the source, what is the legal position on the following process:

- check out the source from SVN
- modify the source locally (optional)
- compile/obfuscate/package the modified local copy together with application source, into a single jar
- use the jar as part of a commercial product.

I am sure you do understand that building from source is especially crucial at such early stage, where Shai and Chen are frequently committing patches for issues which else could pose 'blockers' for commercial development.

Cheers,
Diego

ecki

Posts: 7
Re: License agreement and obfuscation
Posted: Oct 17, 2008 5:43 PM   in response to: drdth
 
  Click to reply to this thread Reply

> - check out the source from SVN
> - modify the source locally (optional)
> - compile/obfuscate/package the modified local copy
> together with application source, into a single jar
> - use the jar as part of a commercial product.

Note: it is not enough to ship the source code, you must also ship build scripts and the obfuscator in order to allow you users to build their own version of the jar. If the obfuscator is changing method names you have to ship it, because otherwise your existing application jars wont be able to use a locally modified version.

> I am sure you do understand that building from source
> is especially crucial at such early stage, where Shai
> and Chen are frequently committing patches for issues
> which else could pose 'blockers' for commercial
> development.

The Binaries you get from Sun have no special role, the GPL is focused on the source. If you build the binaries or Sun does, does not make a difference.

Gruss
Bernd

drdth

Posts: 132
Re: License agreement and obfuscation
Posted: Oct 17, 2008 7:48 PM   in response to: ecki
 
  Click to reply to this thread Reply

Bernd, your statement contradicts to what Terrence wrote, doesn't it ?

> Note: it is not enough to ship the source code..

How do you come to this conclusion..are you referring to the modified source one would be using for Lwuit or even the one of a commercial application (which is NOT open source) ?

In the classpath exception it says that:"As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice..."

I am not a lawyer but if the commercial application (excluding the recompiled Lwuit) is the 'independent module, then why would one need to ship the application code as well ? The term of choice then could be 'commercial', 'non-open course', couldn't it ?

Moreover, as far as I can see, the modified Lwuit source does not need to be physically shipped, but simply be made available for anyone: "Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code"

> The Binaries you get from Sun have no special role,
> the GPL is focused on the source.

But the classpath exception is referring to the binaries.

ecki

Posts: 7
Re: License agreement and obfuscation
Posted: Oct 17, 2008 8:24 PM   in response to: drdth
 
  Click to reply to this thread Reply

> > Note: it is not enough to ship the source code..
> How do you come to this conclusion..are you referring
> to the modified source one would be using for Lwuit
> or even the one of a commercial application (which is
> NOT open source) ?

The source for the modified library must be shipped, yes. Since the modified lib is based on the original one.


> In the classpath exception it says that:"As a special
> exception, the copyright holders of this library give
> you permission to link this library with independent
> modules to produce an executable, regardless of the
> license terms of these independent modules, and to
> copy and distribute the resulting executable under
> terms of your choice..."

Hmm, yes you are right, I was confusing that with the LGPL.

> Moreover, as far as I can see, the modified Lwuit
> source does not need to be physically shipped, but
> simply be made available for anyone: "Accompany it
> with a written offer, valid for at least three years,
> to give any third party, for a charge no more than
> your cost of physically performing source
> distribution, a complete machine-readable copy of the
> corresponding source code"

Yes, but its easier to ship it, so you dont need to handle the archiving and logistics.

Gruss
Bernd

drdth

Posts: 132
Re: License agreement and obfuscation
Posted: Oct 17, 2008 8:33 PM   in response to: ecki
 
  Click to reply to this thread Reply

Pheow, okay, thanks Bernd, you just gave me a bit of a shock there ! ;-D

Shai Almog
Re: License agreement and obfuscation
Posted: Oct 18, 2008 12:45 AM   in response to: ecki
  Click to reply to this thread Reply

> The Binaries you get from Sun have no special role, the GPL is
> focused on the source. If you build the binaries or Sun does, does
> not make a difference.

I am not a lawyer and can't speak officially but as far as my limited
understanding goes this is untrue.
Sun is the copyright holder of the code and so it can relicense the
code under any license it desires (which is why we must have the SCA
signed for every contribution). The binaries are distributed under
the SLA which is not GPL compatible, this is not a problem for Sun to
do since Sun owns the rights for the code and can do whatever it
pleases (with one caveat).
Sun has used such abilities in Open Office, NetBeans and other open
source projects which it used to relicense the projects years after
they were originally published.

The only caveat is that Sun can't take back code it already
*knowingly* published under the GPL+CPE, so the code thats open
source is there and Sun can't suddenly change its mind. The knowingly
means that if I mistakenly publish something that isn't owned by Sun
or for which I have no permission or knowledge to publish the license
is void, I can't just decide on my own to open source something.


Shai Almog
http://lwuit.blogspot.com/

[att1.html]


drdth

Posts: 132
Re: License agreement and obfuscation
Posted: Oct 21, 2008 3:04 AM   in response to: Shai Almog
 
  Click to reply to this thread Reply

This is in reply to Shai's post on http://forums.java.net/jive/thread.jspa?messageID=310906&#310906:

> >> (which the license prohibits unless you contribute
> modifications).
> >
> > Not according to
> http://forums.java.net/jive/thread.jspa?
> > threadID=49676, or what am I missing here ? What
> exactly do you
> > mean by 'contribute' ?
>
> Not quite. That thread discuses whether obfuscation
> is modification
> which according to Sun's lawyers it is not.
> Modifying the LWUIT source code in any way is
> considered modification
> in which case you need to comply by the GPL (the
> class path exception
> only holds to your code) and the GPL defines
> contribute rather
> vaguely. The general understanding I have (and again
> not a lawyer or
> anything official) is that you must host the modified
> source code in
> your site.
> I think it would be OK if you contribute the code via
> the incubator
> project in which case java.net would host your
> modifications for you,
> however to do this you must sign the SCA first.

To settle this for once and all: could we please have a final statement from Sun if the following process is legal:

- check out the source from SVN
- modify the source locally (optional)
- compile/obfuscate/package the modified local copy together with application source, into a single jar
- use the jar as part of a commercial product.
- accompany the product with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code of the Lwuit modifications

Thanks in advance.

Shai Almog
Re: License agreement and obfuscation
Posted: Oct 21, 2008 3:54 AM   in response to: drdth
  Click to reply to this thread Reply

Hi,
Terrences response previously in the thread seems very clear to me.
Unlike myself Terrence is speaking officially for Sun as far as I
understand.

> - check out the source from SVN
> - modify the source locally (optional)
> - compile/obfuscate/package the modified local copy together with
> application source, into a single jar
> - use the jar as part of a commercial product.
> - accompany the product with a written offer, valid for at least
> three years, to give any third party, for a charge no more than
> your cost of physically performing source distribution, a complete
> machine-readable copy of the corresponding source code of the Lwuit
> modifications

You are allowed to do all of the above except for modify the code
without contributing, Terrence said:
"I'd like to confirm that Sun views the classpath exception as
appropriate for the scenario you describe...."

He goes on to say:
"So if you modify LWUIT source you are bound by the terms of the
GPLv2 under which LWUIT is licensed."

Which means you can't change LWUIT without contributing source back
based on the GPL.

>
> Thanks in advance.
> [Message sent by forum member 'drdth' (drdth)]
>
> http://forums.java.net/jive/thread.jspa?messageID=310938
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@lwuit.dev.java.net
> For additional commands, e-mail: users-help@lwuit.dev.java.net
>

Shai Almog
http://lwuit.blogspot.com/

[att1.html]


Terrence Barr -...
Re: License agreement and obfuscation
Posted: Oct 21, 2008 6:01 AM   in response to: Shai Almog
  Click to reply to this thread Reply

[att1.html]
[terrence_barr.vcf]
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@lwuit.dev.java.net
For additional commands, e-mail: users-help@lwuit.dev.java.net


drdth

Posts: 132
Re: License agreement and obfuscation
Posted: Oct 21, 2008 6:51 AM   in response to: Shai Almog
 
  Click to reply to this thread Reply

> Hi, Terrences response previously in the thread seems very clear to me.

Yes, so does it to me and I have no issues with this in whatever way. Your statement regarding the "license prohibiting unless you contribute modifications" was what confused me, as I could not see why you mentioned this again.

The GPL clearly allows to contribute by "accompanying the product with a written offer...", which is a much more feasible option than the incubator and having to sign an SCA.

So let's all walk on to more interesting questions, I think we do agree :-)

Qunhuan Mei
getLines from TextArea may have a problem.
Posted: Oct 21, 2008 7:48 AM   in response to: drdth
  Click to reply to this thread Reply

Hi,

Basically, before a textArea is displayed, its public method of getLines() always returns an incorrect and very large number (seems using the wrong logic for parsing message into lines). But during the textArea’s painting, the getLines returns the right value (the logic somehow has been corrected).

Here is the code:

TextArea textArea = new TextArea(“quite long message, need over a page to display ...�);

textArea.setRows(textArea.getLines()); //
textArea.setColumns(1);

textArea.setGrowByContent(true);
addComponent(textArea);

To query getLins() anywhere here, you will not get the right number of lines.

The code may need to be looked into.

Many thanks,

Qunhuan


Shai Almog
Re: getLines from TextArea may have a problem.
Posted: Oct 21, 2008 11:43 AM   in response to: Qunhuan Mei
  Click to reply to this thread Reply

Hi,
this is not fixable.
The layout manager hasn't determined the size of the text area hence
the width is 0 + padding/margin so lines == number of characters.

The current SVN version works with this more intelligently by
enabling layout only after init.

> Hi,
>
> Basically, before a textArea is displayed, its public method of
> getLines() always returns an incorrect and very large number (seems
> using the wrong logic for parsing message into lines). But during
> the textArea’s painting, the getLines returns the right value (the
> logic somehow has been corrected).
>
> Here is the code:
>
> TextArea textArea = new TextArea(“quite long message, need over a
> page to display ...�);
>
> textArea.setRows(textArea.getLines()); //
> textArea.setColumns(1);
>
> textArea.setGrowByContent(true);
> addComponent(textArea);
>
> To query getLins() anywhere here, you will not get the right number
> of lines.
>
> The code may need to be looked into.
>
> Many thanks,
>
> Qunhuan

Shai Almog
http://lwuit.blogspot.com/

[att1.html]


terrencebarr

Posts: 544
Re: License agreement and obfuscation
Posted: Oct 15, 2008 2:43 AM   in response to: badgrs
 
  Click to reply to this thread Reply

Diego,

Understood. What you describe is standard standard development practice and is covered by my reply to the comment on my blog. Quote:

"I'd like to confirm that Sun views the classpath exception as appropriate for the scenario you describe. Unpacking the LWUIT jar, obfuscating it, and repackaging it with the application classes is covered by the classpath exception.

Sun *does* consider obfuscation a modification but the classpath exception can be used provided the classpath exception requirements are met - in particular regarding the LWUIT source code."

So if you modify LWUIT source you are bound by the terms of the GPLv2 under which LWUIT is licensed.

Cheers,

-- Terrence

drdth

Posts: 132
Re: License agreement and obfuscation
Posted: Oct 15, 2008 3:09 AM   in response to: terrencebarr
 
  Click to reply to this thread Reply

>... Unpacking the LWUIT jar, obfuscating it

Thanks Terrence, I asked because I thought there might be a legal difference between 'unpacking the jar' or 'linking' and 'compiling modified versions of source code', which appears not to be covered in the classpath exception. But going through the GNU docs I gather that this part is covered by the standard GPL v2.

So thanks and 'pheow', it was getting a bit late to change GUI frameworks now ;-)

badgrs

Posts: 2
Re: License agreement and obfuscation
Posted: Oct 16, 2008 11:54 AM   in response to: terrencebarr
 
  Click to reply to this thread Reply

Thanks for all the replies.

So to clarify - I can happily unpackacage and obfuscate the jar file into my own application. But if I want to make source changes I have to submit them as patches and wait for another code drop before I can incorporate them? Or can I use my changes from a local source build as long as I also submit them?

Cheers

terrencebarr

Posts: 544
Re: License agreement and obfuscation
Posted: Oct 16, 2008 12:19 PM   in response to: badgrs
 
  Click to reply to this thread Reply

LWUIT is no different in that respect than other open source projects licensed under GPLv2 with the classpath exception. If you have general questions about developing with GPL and classpath you can read up on the topic here http://www.gnu.org/licenses/gpl-2.0.txt and here: http://www.gnu.org/software/classpath/license.html

-- Terrence




 XML java.net RSS