LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - General
User Name
Password
Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.

Notices


Reply
  Search this Thread
Old 04-30-2005, 10:48 AM   #1
Hosiah
Member
 
Registered: Sep 2004
Location: Des Moines, Iowa
Distribution: Slackware, Mandriva, Debian derivatives, +BSD/ Solaris/ Minix/ plan9/ GNU/HURD...
Posts: 185

Rep: Reputation: 31
what of Java and Linux?


I'm not sure what to do, here...

Normally, I could give a care about running web-based java aplets on the web. One less security hole. But my kids want to play the online games...

So I downloaded the java install package, and recieved a bad flash-back to the windows days: a draconian end-user-liscence agreement. I exited out of the program and haven't tried it again. I am so adamant about this, now! I balk at the notion of installing software that isn't going to be as free as the air.

my questions:
Doesn't this violate GPL somehow? If a GNU application makes use of web-based java and I use that to create something, who does that product belong to?

Isn't there an alternative? If not, I'm fixing to just treat any website showing me that blue puzzle piece as broken.

I see there's a java interpretter on my Linux distro, documented as "ahead of it's time". What about using it to run java apps?
 
Old 04-30-2005, 10:57 AM   #2
trickykid
LQ Guru
 
Registered: Jan 2001
Posts: 24,149

Rep: Reputation: 269Reputation: 269Reputation: 269
DId you actually read the License? This is perfectly legal. Next time you get a License Agreement screen when installing some software, read it instead of closing out of it. But the Java you most likely downloaded is free software, I doubt your signing your first born away to use it.
 
Old 04-30-2005, 11:24 AM   #3
Komakino
Senior Member
 
Registered: Feb 2004
Location: Somerset, England
Distribution: Slackware 10.2, Slackware 10.0, Ubuntu 9.10
Posts: 1,938

Rep: Reputation: 55
You won't be able to use a non-sun java runtime environment because most likely any applets will make use of swing which is only part of sun's JRE.
I don't understand why you're so anti non-free software? And I'm also not sure about your question about licensing... although I've never actually read the Java license...
 
Old 04-30-2005, 11:28 AM   #4
Komakino
Senior Member
 
Registered: Feb 2004
Location: Somerset, England
Distribution: Slackware 10.2, Slackware 10.0, Ubuntu 9.10
Posts: 1,938

Rep: Reputation: 55
Having just read the license, I'm not sure what your concerns are. Sun holds on to the rights for Java and permits you to bundle the whole thing (if you want to) with your program. Your program code still belongs to you.
 
Old 04-30-2005, 11:46 AM   #5
Hosiah
Member
 
Registered: Sep 2004
Location: Des Moines, Iowa
Distribution: Slackware, Mandriva, Debian derivatives, +BSD/ Solaris/ Minix/ plan9/ GNU/HURD...
Posts: 185

Original Poster
Rep: Reputation: 31
OK, so I'm very, very dumb about legal stuff....

Thanks, folks!

PS I guess I'm used to the standard GPL, and if I see anything else but the exact wording of the GNU General Public Liscence that I see in comments at the top of every Linux source file I edit, I tend to assume it's not the same thing.

Last edited by Hosiah; 04-30-2005 at 11:49 AM.
 
Old 04-30-2005, 12:16 PM   #6
Hosiah
Member
 
Registered: Sep 2004
Location: Des Moines, Iowa
Distribution: Slackware, Mandriva, Debian derivatives, +BSD/ Solaris/ Minix/ plan9/ GNU/HURD...
Posts: 185

Original Poster
Rep: Reputation: 31
hey, wait a minute...

What about stuff like this?
http://viva.sourceforge.net/
 
Old 04-30-2005, 12:23 PM   #7
Komakino
Senior Member
 
Registered: Feb 2004
Location: Somerset, England
Distribution: Slackware 10.2, Slackware 10.0, Ubuntu 9.10
Posts: 1,938

Rep: Reputation: 55
Quote:
Originally posted by Hosiah
OK, so I'm very, very dumb about legal stuff....

Thanks, folks!

PS I guess I'm used to the standard GPL, and if I see anything else but the exact wording of the GNU General Public Liscence that I see in comments at the top of every Linux source file I edit, I tend to assume it's not the same thing.
It isn't the same thing. Java isn't GPL'd, but it is free software. Unlike with the GPL, you are not allowed to modify and redistribute the Java source code. You are free though to release software you've written in java under any license you like.
 
Old 04-30-2005, 01:40 PM   #8
Hosiah
Member
 
Registered: Sep 2004
Location: Des Moines, Iowa
Distribution: Slackware, Mandriva, Debian derivatives, +BSD/ Solaris/ Minix/ plan9/ GNU/HURD...
Posts: 185

Original Poster
Rep: Reputation: 31
Perhaps I have to explain my situation a little better...

Under RESTRICTIONS it says:
Software is confidential and copyrighted. Title to
Software and all associated intellectual property rights is retained
by Sun and/or its licensors. Unless enforcement is prohibited by
applicable law, you may not modify, decompile, or reverse engineer
Software.

See, I program in about 6 languages right now, ranging from Assembler through C++ to Lisp. I even post code for free share on another blog (linkable from the one in my sig). I'll pick up more later. And I'm likely to randomly grab a function definition from any source file I grep and paste it into whatever I'm working on, modifying it to suit my needs. I'm likely to brain-dump code in any language I know in my sleep. I'm prone to reverse-engineering software just for kicks while drunk.

For instance, I notice the install package includes a .el file for a java mode in Emacs. Now, I'm going to have to red-flag that as being the *only* lisp file that I can't mess with...there's also graphics files, the Java logos and such, that I have to red-flag so I don't inadvertedly paste them into Gimp when I'm creating nifty webpage banners, because the images belong to Sun...

lol* so you see my confusion! If anything is 100% solid GPL, it's Emacs! So we have emacs running a proprietary module... but I see the third-party liscence.txt file for the CS Codeviwer is GPL'd (the BSD version) all over the place. Evidentally, it *is* possible for free software and Java to co-operate...but I'm almost sure Linus Torvalds once shrugged and said "Heh, BitTorrent, they'll never give me any trouble!"

I went ahead and installed it anyway, and if it's too painful, I can always uninstall. I've also Googled more carefully, and see now that this is, in fact an ongoing, controversial debate, well beyond the scope of a bulletin board. Until the dust settles, I'll put off learning Java for yet a while longer...

Next stop, shockwave-flash!
 
Old 04-30-2005, 01:40 PM   #9
foo_bar_foo
Senior Member
 
Registered: Jun 2004
Posts: 2,553

Rep: Reputation: 53
i personally think Sun has every right to controll 100% the developement of its trademark product Java.

the source code is open and available to anyone and they are even open to outside contributions
you can even alter java and use it yourself for whatever purpose
they just don't want anyone distributing altered versions of java

since java is about distributed computing for Sun to controll what java is is the only way it can function in a cross platform distributed way.

web sites like http://viva.sourceforge.net/ are absurd and stupid
 
Old 04-30-2005, 03:09 PM   #10
Komakino
Senior Member
 
Registered: Feb 2004
Location: Somerset, England
Distribution: Slackware 10.2, Slackware 10.0, Ubuntu 9.10
Posts: 1,938

Rep: Reputation: 55
Quote:
Originally posted by foo_bar_foo
i personally think Sun has every right to controll 100% the developement of its trademark product Java.

the source code is open and available to anyone and they are even open to outside contributions
you can even alter java and use it yourself for whatever purpose
they just don't want anyone distributing altered versions of java

since java is about distributed computing for Sun to controll what java is is the only way it can function in a cross platform distributed way.

web sites like http://viva.sourceforge.net/ are absurd and stupid
Agreed. Sun's control over Java should mean standardisation...and hopefully not another Microsoft attempt at their own version of Java with the aim of edging out sun.
 
Old 04-30-2005, 03:38 PM   #11
mrcheeks
Senior Member
 
Registered: Mar 2004
Location: far enough
Distribution: OS X 10.6.7
Posts: 1,690

Rep: Reputation: 52
installing java has been a pain for lots of people and still is which i don't really understand but... If distributing java was free, it would be more interesting experience for newbies... The same stuff go for proprietary drivers, how do i install it, command line... :-) funny but that is...

if it was faster too, but i use java software because i program java software. Sometimes it doesn't fit..., some people would think about it to create software drivers, this is not a joke...in the entreprise you can find a whole bunch of "professionals" thinking like that...

I still wonder why ibm didn't buy Sun out, they have more programmers than Sun, but i believe they don't even need Sun too...

Any company support linux software should have a detailled guide on how to install it with menu items created(for gnome or kde users);
 
Old 05-01-2005, 12:09 AM   #12
foo_bar_foo
Senior Member
 
Registered: Jun 2004
Posts: 2,553

Rep: Reputation: 53
first anybody can make a package to install java on any linux system
apt will inslall blackdown java on a debian system and set it up perfectly so it works in all the browsers and everything.

java was originally designed to run on small devices and right now really accels at mobile phones and handhelds. and it's important to point out that there are many alternative java virtual machines for handhelds that run java and are compliant with java api -- the OS SavaJe and the vm ewe and waba for the gameboy i'm sure there are many more, ibm also makes it's own java virtual machine that is the heart of its middleware. java even runs on credit cards.

OK you can't use java to create software drivers -- even java itself isn't even written in java -- nor is the Mobile phone java OS SavaJe written in java -- java is just a portability layer to the underlying c\c++ .

as for ibm doing a hostile takover of sun it is possible for a company to position itself so it simply cannot be taken over (if we had better antitrust laws they would not need to)
computer developement has almost come to a grinding hault as it is with all the corporate controll crap. Also sometimes hostile takover requires paying way over value which is just stupid. The last time ibm had control of everything the government had to use court cases to break the monopoly and if they hadn't we would all be feeding punchcards into a house size mainframe to talk about this right now. IBM is not our freind.

just a note about opensource -- ibm is trying to use opensource to it's advantage to destroy Sun java. just as i believe xorg recent conversion of the core stream of MIT x to opensource is an attempt to advantage certain corporations in some way. Once these corporations get what they want they will abandon open source just a quickly as they embrace it so opensource is often an overly simplistic answer to a complex equation and opensource embraced by all could even be used to distroy Linux itself if that's what they decided to do.

ok and on to the last comment -- when was the last time you saw someone demand a menu entry in Gnome and KDE for a non-interactive interpreter ?... i know id really use that menu shortcut alot

sorry for the long post
peace out
 
Old 05-01-2005, 05:55 AM   #13
Komakino
Senior Member
 
Registered: Feb 2004
Location: Somerset, England
Distribution: Slackware 10.2, Slackware 10.0, Ubuntu 9.10
Posts: 1,938

Rep: Reputation: 55
Quote:
Originally posted by foo_bar_foo

OK you can't use java to create software drivers -- even java itself isn't even written in java -- nor is the Mobile phone java OS SavaJe written in java -- java is just a portability layer to the underlying c\c++ .
But then most compilers for languages aren't written in that language, particularly teaching languages such as Tiger or Pascal. Their compilers or interpreters are also written in C or C++ because it's a nice, fast, flexible, mid level language. I can't imagine anyone would write a Lisp interpreter IN lisp!

And Java isn't a portability layer to the underlying C/C++ - that's like assuming the stuff that runs java is still in source code form! The JVM is compiled...it's in binary (machine code) format. The JVM just interprets the bytecode and executes instructions.
 
Old 05-02-2005, 01:28 AM   #14
foo_bar_foo
Senior Member
 
Registered: Jun 2004
Posts: 2,553

Rep: Reputation: 53
Quote:
The JVM just interprets the bytecode and executes instructions.
yep two layers

and yes the jvm is compiled into native binary position independant object libraries and binary executables and also a bunch of java .jar files (we were talking about writing device drivers in one language or the other)

i admit i don't know that much about it but i see an executable named java linked to
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib/libpthread.so.0 (0x4002c000)
libdl.so.2 => /lib/libdl.so.2 (0x4003e000)
libc.so.6 => /lib/libc.so.6 (0x40042000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

and a bunch of native libraries like libjvm.so that are the same way

call me crazy but something linked to object library libc is using programming language user space c calls to communicate with my hardware via the kernel or programming language c system calls provided by the kernel itself.

now on the other hand there is this rather large portable java api that is written in java and this seems to become a part of any java program you write. you just include this stuff and your byte code calls this other byte code in these other jar files that in turn calls these precompiled libraries of native code that use libc to communicate with the machine.

i fail to see how anyone can write a kernel level device driver using java.

now it might be possible to further compound the mess and write say a lisp interpreter in java but you cannot write a java interpreter in java without the hardware implementation of java which happens to be written in c but could be written in some other language that can be compiled to machine code-- or is there something i'm missing. it's not just a matter of covenience.. and sure it is possible to compile java straight to machine code but then it's not portable anymore which is why i say the jvm is a portability layer. it doesn't have to be that way but that's the way it is.
 
Old 05-02-2005, 01:00 PM   #15
Komakino
Senior Member
 
Registered: Feb 2004
Location: Somerset, England
Distribution: Slackware 10.2, Slackware 10.0, Ubuntu 9.10
Posts: 1,938

Rep: Reputation: 55
Quote:
Originally posted by foo_bar_foo
yep two layers

and yes the jvm is compiled into native binary position independant object libraries and binary executables and also a bunch of java .jar files (we were talking about writing device drivers in one language or the other)

i admit i don't know that much about it but i see an executable named java linked to
linux-gate.so.1 => (0xffffe000)
libpthread.so.0 => /lib/libpthread.so.0 (0x4002c000)
libdl.so.2 => /lib/libdl.so.2 (0x4003e000)
libc.so.6 => /lib/libc.so.6 (0x40042000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

and a bunch of native libraries like libjvm.so that are the same way

call me crazy but something linked to object library libc is using programming language user space c calls to communicate with my hardware via the kernel or programming language c system calls provided by the kernel itself.

now on the other hand there is this rather large portable java api that is written in java and this seems to become a part of any java program you write. you just include this stuff and your byte code calls this other byte code in these other jar files that in turn calls these precompiled libraries of native code that use libc to communicate with the machine.

i fail to see how anyone can write a kernel level device driver using java.

now it might be possible to further compound the mess and write say a lisp interpreter in java but you cannot write a java interpreter in java without the hardware implementation of java which happens to be written in c but could be written in some other language that can be compiled to machine code-- or is there something i'm missing. it's not just a matter of covenience.. and sure it is possible to compile java straight to machine code but then it's not portable anymore which is why i say the jvm is a portability layer. it doesn't have to be that way but that's the way it is.
Well of course Java the executable is written in C, hence the linking to libc. I didn't say Java wasn't written in C, I said it didn't convert your code to C...which it doesn't. Java is a portability layer (if you want to call it that) but just because the Java interpreter / VM / whatever is written in C and uses C system calls, that doesn't mean it's a portability layer to the underlying C. Don't forget that the 'underlying C' has itself been compiled into machine code.

They could have built the Java executable statically, then it wouldn't link against any libraries and would just be a single binary (machine code) file. It certainly wouldn't be using 'underlying C' then. This is a futile discussion anyway really...seeing as it was originally supposed to be about licensing!
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Java for Linux? arctic123 Programming 7 09-10-2004 06:45 PM
JAVA:(jwstric2) Problems in JAVA-LINUX nedian123 Programming 1 06-28-2004 04:12 PM
Java on Linux Sherlock Red Hat 1 03-16-2004 06:44 AM
Linux and Java + Java Media Framework (JMF) perry Programming 0 11-03-2003 10:08 AM
Linux and Java Felicity Linux - General 4 10-30-2002 11:30 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - General

All times are GMT -5. The time now is 06:57 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration