We closed this forum 18 June 2010. It has served us well since 2005 as the ALPHA forum did before it from 2002 to 2005. New discussions are ongoing at the new URL http://forum.processing.org. You'll need to sign up and get a new user account. We're sorry about that inconvenience, but we think it's better in the long run. The content on this forum will remain online.
IndexDiscussionGeneral Discussion,  Status › Using open software
Page Index Toggle Pages: 1
Using open software (Read 1404 times)
Using open software
Dec 17th, 2008, 10:16am
 
I thought in using Processing that I was using free and open software... until someone pointed out to me that it's distributed with Sun's Java in the package. Is this necessary? Is it not possible, for instance, to use OpenJDK instead? Or at least offer a Linux version of Processing that doesn't come with its own Java but uses whatever the user has installed already?

Also, is this allowed? This means that in using Processing, I'm using Sun's Java without having agreed to their licensing terms. It feels slightly dishonest to me to distribute Processing as open source, leading users to believe that they are truly working in a free and open environment but in fact they are using proprietary software that isn't made obvious to the user.
Re: Using open software
Reply #1 - Dec 17th, 2008, 1:21pm
 
I never used Processing on Linux, so the information I provide might be inacurate. I think the authors will clarify the issue better than me... Smiley

But, maybe I might address some concerns.
1) According to the GPL, the source code is available, and you are free to compile it with whatever tool you want. After all, that's a common practice for open source software on Unix platforms.
2) There is no installation, so no opportunity to show Java license at this step, as some other softwares do, but the LICENSE file is right in the java folder of the distribution.
3) There is a distribution without Java. It is a Windows distribution but I wouldn't be much surprised if it works on Linux with minimal changes.
Actually, the main difference I see is processing.exe instead of processing shell script. Also the Windows dist has a video library not seen in the Linux one.
OK, actually it seems the jar files are slightly different. For example the Linux pde.jar isn't compressed, perhaps by mistake, and has a linux folder in the lib one, while the Windows jar has a windows folder.

Now, I am a supporter of a distribution without Java: it makes the download much smaller, which can make a difference if you try and follow all updates! Maybe we could have a mixed Java-less distribution, with both processing.exe and processing shell script, linux and windows folders (they are not so big), etc. unless there are major issues with this approach.

The MacOS dist is another beast, being packaged as a DMG file.
Re: Using open software
Reply #2 - Dec 17th, 2008, 3:32pm
 
Of course everyone looks inside the java folder.

It may very well be that distributing Processing + Sun Java in this way doesn't break any licensing rules but there's still something shady about it.

I tried building Processing with openjdk instead of Sun and it doesn't work:

com.sun.jdi.connect.VMStartException: VM initialization failed for: java -Xrunjdwp:transport=dt_socket,address=127.0.0.1:8807,suspend=y -Djava.library.path=:null -cp /tmp/build48900.tmp::./java/lib/rt.jar:./java/lib/tools.jar:./lib/antlr.jar:./li
b/core.jar:./lib/ecj.jar:./lib/jna.jar:./lib/pde.jar processing.core.PApplet --editor-location=440,262 --external --display=1 --sketch-path=/home/palli/processing/build/linux/work/examples/Topics/Animation/
AnimatedSprite AnimatedSprite
       at com.sun.tools.jdi.AbstractLauncher$Helper.launchAndAccept(AbstractLauncher.java:
192)
       at com.sun.tools.jdi.AbstractLauncher.launch(AbstractLauncher.java:132)
       at com.sun.tools.jdi.RawCommandLineLauncher.launch(RawCommandLineLauncher.java:118)

       at processing.app.debug.Runner.launchVirtualMachine(Runner.java:408)
       at processing.app.debug.Runner.launch(Runner.java:122)
       at processing.app.Editor$43.run(Editor.java:1572)
       at java.lang.Thread.run(Thread.java:636)
Could not run the sketch (Target VM failed to initialize).
For more information, read revisions.txt and Help → Troubleshooting

If anyone can tell me what this means and how it might be fixed, I would greatly appreciate it. This is my new mission in life, to get Processing running in a truly free manner on Debian.

As a side note, this all came about because of a brief, online conversation with one of the dyne:bolic (http://dynebolic.org) who said he would love to include Processing but can't due to the Sun java inclusion.

PS. I'm using Cacao openjdk
Re: Using open software
Reply #3 - Dec 17th, 2008, 5:33pm
 
I have Processing running with openjdk now(java folder is symlinked to the openjdk folder). What I'd like to know, and I hope someone can answer this, is whether or not that removes the need for any proprietary files at all or is there other non-free Sun stuff lurking in there somewhere?
Re: Using open software
Reply #4 - Dec 17th, 2008, 6:13pm
 
I'm interested to know how well this works.  I don't like license restrictions, but I think packaging everything under one archive is the way to go (with barebones version as an option) - as having to instruct someone to download more than one thing at a time is a BIG barrier to propagation of use, especially considering that the main target audience of Processing is non-programmer crowd.

Are you going to provide the openjdk "version" of processing as a package to encourage the use of open-source software?
Re: Using open software
Reply #5 - Dec 17th, 2008, 11:40pm
 
I've tried a number of the examples now and everything has worked fine. It's pretty basic to set up. If you're running Debian Lenny or Ubuntu you can install openjdk from the repositories. Make sure you install the jdk and not just the jre. Then delete the java folder inside your Processing folder and create a symlink called java that points to the openjdk folder. On Debian, the openjdk folder is installed in /usr/lib/jvm/java-6-openjdk (I think, I don't have access to the computer I installed it on right now).

It might be tricky to distribute as a package because openjdk is probably using some shared libraries. Maybe that's why they chose to distribute it with the Sun jdk. But setting it up is a painless and simple.
Re: Using open software
Reply #6 - Dec 20th, 2008, 3:52pm
 
Oh geez, spare me. We've put many years into this project, making available tens of thousands of lines of code that was written in our spare time, and yet someone is still looking for problems with whether it's "open" enough. I find that offensive.

1. There's nothing "shady" about including the JRE. Read the license. Sun developed the JRE so that it could be distributed.

2. The JRE is included so that people can begin using Processing immediately. (sw01 is absolutely correct on this point, that multiple installations are a considerable barrier.) This has been a requirement/goal since the very first release. It suits our target audience. I've often considered *removing* the Windows release that does not include Java, because it's significantly more difficult to support, and causes a lot more problems.

3. OpenJDK is not yet ready for prime time. I look forward to when it will be:
http://processing.org/reference/environment/platforms.html#linux

4. The releases are all different because they contain platform-specific code. (Mostly Java, some JNA.)

5. Adding a second Linux release adds more work for me, as the person doing all the development and release work. Linux is currently less than ~3% of our audience, so it's not a priority, especially when it risks undermining the easy installation goal.
Re: Using open software
Reply #7 - Dec 20th, 2008, 11:40pm
 
I apologize for my wording. I didn't mean to offend anyone and I'm not questioning the "openness" of Processing. I'm sure that every Processing user is thankful to the developers for their choice of licensing. I'm not questioning Sun's licensing either. I'm sure you know that there are a lot of users of free and open source software who make a point of sticking with free and open source software as much as possible, therefore I wonder why it isn't mentioned more prominently that Processing is distributed with proprietary software. I think it's a perfectly legitimate question. I understand that including the JRE makes it easier for people to dive right in and it's great that Processing can work "right out of the box". But I still think it would be "right", in the context of free and open source software to mention more explicitly that the default distribution contains proprietary software.
Re: Using open software
Reply #8 - Dec 21st, 2008, 12:33am
 
After reading the reply, I don't think I agree with the sentiment on revising the release statement to be more "prominent" on the fact that JRE is used.  

I'm not sure if everyone agrees on what is meant by the words "free" and "open".  I think it's wonderful that some people are putting a lot of effort in making codes to be open-sourced because of their conviction that it is the "ethical" thing to do.  But there are also people who does it to improve and enhance technology because they themselves want to achieve a certain goal and having it open is the efficient means to do so.

For people who prefer everything in their life to be open-source, I think it is fine to support what they believe in.  I don't think anyone is stopping any programmer to develop software that replaces what is only available commercially (ok, other than Thompson) - as long as they are not hurting anyone.  But to force someone to support something that is not even in their interest, or ask them to revise some statement - is that really what is meant by "free" or "open"?  I highly disagree with the notion that someone can demand others to do something without lifting a finger of their own.  

I find Processing to be an immensely useful tool for my work, and as an end user, it is in my own interest to encourage others to use the tool as well.  That is why that in my opinion, if someone is demanding something to be completely open, why not these people start with building a tool that helps their interest rather than demanding the someone else to change anything?  Then these people will become innovators rather than just another complaining armchair activists.  I think most people will find the former a lot more respectable than the latter.
Re: Using open software
Reply #9 - Dec 21st, 2008, 9:32am
 
pthayer wrote on Dec 20th, 2008, 11:40pm:
I'm sure you know that there are a lot of users of free and open source software who make a point of sticking with free and open source software as much as possible
Not so much, even less within Processing's audience.
Beside, those caring about these questions have the habit to look inside what they have installed, and are well aware of Java licensing and such.
It would be nice if a bit more detail is put in the download page, though: I didn't know Java was shipped with Linux version until I downloaded it, and I would appreciate to be warned of the size of the download beforehand.
But I am aware it is more work so for me it is just a suggestion.
Re: Using open software
Reply #10 - Dec 21st, 2008, 6:23pm
 
I think people are generally missing my point. All I'm suggesting is that it be explicitly mentioned somewhere that Processing is distributed with Sun's proprietary software and it could also be mentioned that this is done for ease of use, not dependence. That it is possible to remove the proprietary software and replace it with open software (as I mentioned, I've been trying it out with openjdk and everything's been fine so far). There's nothing wrong with that. It's obviously important to Processing that it is open and free software. It's mentioned twice on the main page of the website along with a link to other FLOSS software. I'm not "demanding" anything. I'm simply suggesting that within the context of free and open software, mentioning the inclusion of proprietary software in the downloaded package would be the right thing to do.

Oh, and after reading my original post, again, I appologize for the wording. I didn't mean that the Processing application shouldn't be distributed as open-source but rather that the Processing package (as it comes from the download site) isn't completely open source. Please don't read things into these words that aren't there. Processing itself couldn't be more open source but the package (with Sun's JRE included) is questionable and I would think that the GPL would at the very least suggest that people be made aware in such cases.
Page Index Toggle Pages: 1