LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Java vs Free Software (https://www.linuxquestions.org/questions/linux-software-2/java-vs-free-software-291023/)

gothgeek84 02-16-2005 12:41 PM

Java vs Free Software
 
(Sigh. I accidentally hit reload, and now I have to type everything in again...)

Alright, here's the deal. I run Linux Mandrake 10.1 Community; one of it's major points (for me, at least) is that it consists only of Free software. I'm wanting to run Java on it, just for running various Java programs. However, my understanding is that Java is not free software. So, a few short, if not complicated to answer, questions:

1. How close to free software is Sun's Java? Meaning, how much is it in conflict with the general Free Software Philosophy?

2. Is there a *compatible* Java Runtime that is in agreement with the Free Software Philosophy?

3. In your opinion, is being able to run great Java programs such as Arachnophilia worth a slight abandonment of the Philosophy? I hate to install non-free software onto my Linux system, but that doesn't mean I wouldn't do it.

Actually, I already have one non-free program that I run on Linux - EditPad Lite (http://www.editpadlite.com). I've used it on Windows for years, and it's handy to have something familiar in alien territory (actually, Linux isn't alien to me anymore...Windows almost is, now). Also, I dual-boot with Windows; in my Win2k system, I'm not nearly as worried about keeping everything Free, because it's not a free platform. Mind you, I do still use plenty of Free software, but it's not as important to me that everything on it is free. However, I'd like to keep my Linux system as free as possible.

Did any of this make sense to you? Probably not...but I would be appreciative if you were willing to reply with your answers; at least, your opinions.

Doug Burkhalter

Padma 02-16-2005 01:30 PM

Java is not Open Source - the source code for it is strictly properietary - but it has an open API that is well-documented, and it *is* free in the "free as in beer" sense. ;)

While I have misgivings about some of Sun's actions, like its non-open "open-source" Solaris license, the JRE and JDK seem fine to me.

Komakino 02-16-2005 01:47 PM

Why is using open-source software so important to you? I think too often the philosophy in the linux community is that because so many things are open source or free (as in beer) that no one wants to pay for anything any more. This is partly why few people will make commercial games for linux.

This is all besides the point as you've already said that the JRE / JDK are free (beer) anyway. I just felt like a rant.

There is a gnu java compiler as part of the GNU Compiler Collection, but it doesn't support swing (as far as I know) so I don't think making graphical apps is possible.

reddazz 02-16-2005 05:04 PM

Linux has lots of non free as in beer applications as well as proprietary apps. Making your application opensource doesn't mean it has to be free as in beer, you can still sell it as long as the source code is accessible. The accessibility of the souce code is actually what the "free" in free software means. As for games and other apps, most companies unfortunately still see Linux as a niche market so they don't believe there is much profit to be made in porting their apps to Linux. I believe some of them even lack the understanding of what opensource (to some it's a nuisance) is and also lack the expertise to actually port their products.

Padma 02-16-2005 06:34 PM

I don't really mind the occasional proprietary app, (especially games) as long as it's the best app to do the job, and the company doesn't go out of its way to be anti-FOSS. Yeah, I generally *prefer* Open Source, but it isn't a "must-have" for me.

The Sun JRE/JDK is the best tool for building/running java apps, so I use it. simple.

tsiMental 02-16-2005 07:00 PM

As long as there is an open source (non commercial) alternative, which is good enough for my use, of course I want to use the free alternative instead of paying for an expensive app. In many (maybe most) cases, I think the open source alternatives are the better regardless of pricing.

Quote:

Why is using open-source software so important to you? I think too often the philosophy in the linux community is that because so many things are open source or free (as in beer) that no one wants to pay for anything any more. This is partly why few people will make commercial games for linux.
I don't really think so. Linux poses a threat to many companies developing commercial software, e.g. Microsoft. Because of the great marketinfulence that some of these companies imposes, there is little to no possibility that most game companies will start developing commercial Linux games. After all, Microsoft has a great influence on most software development companies and they probably own half of them. This makes it difficult for most game developers to just start developing for any other platform than Microsoft Windows.

Another issue is the ease of use of Microsofts Visual Studio.NET and DirectX. It is probably easier to start developing games in this environment than in any other. Because it is easier to learn and because there are much more and better documentation, both from Microsoft and 3rd party books than on Linux and on OpenGL.

As I see it, as Linux continues to evolve and more developers convert to this platform, there will be many more games ported to Linux. Cause it seems obious to me that this is the operating system of the future and I can hardly see how any commercial firm could compete with the Open Source community, in the long run.

Present 02-16-2005 08:32 PM

open source is not about "free" but about a superior value proposition... balancing contributions with returns.

open source allows businesses and people to be a part of product development, and contribute in more ways than money. like proprietary developers, money helps open source development teams. unlike proprietary developers, open source development places a greater intrinsic value on the product AND its development.

adding functionality to the product you recieved, "pays back" the original developers who now benefit from added functionality. sending a simple bug report provides inestimable value to the coders and makes you an indispensable part of the process. by beta testing, making recommendations for future development, providing support to users less-proficient-than-yourself (perhaps on LQ.org;-), etc, etc, you broaden the development process and provide value that far exceeds monetary exchange for goods/services. in return you receive a product that develops to meet your needs more accurately and quickly than proprietary is capable of.

this is the genius of open-source in a nutshell.

so the question is not "what to avoid" but what to adopt. adopt open-source alternatives when the functionality is sufficient to justify moving to a superior development model. the sooner you adopt-the more rapidly the value accrues.

this yields rewards of greater value and productivity going forward.

foo_bar_foo 02-16-2005 09:14 PM

Quote:

Originally posted by Padma
Java is not Open Source - the source code for it is strictly properietary -
this is not true the code for java IS OPEN for all to see and change at will for your personal use
note the file in your jdk "src.zip" ! open and have a look.
it is proprietary however in the sense that you can't change it and redistribute your new version
or apps that need your new version to run but you can change java all around and recompile from source for yourself and launch a rocket to the moon in a new way and that's what i think of as free.
they share the recipe with you so you can cook yourself should you feel the itch.

Padma 02-16-2005 09:38 PM

I bow before your correctness. :)

I never noticed that zip file, before. I was assuming it was closed source because of all the noise about how Sun will not "Open" Java. My misunderstanding. Thank you. :)

reddazz 02-16-2005 11:47 PM

That still doesn't make it "opensource" because with opensource, you should be able to freely distribute any changes you make to the source code. This is why even though you can still access the source code, it's still regarded as proprietary and not opensource and hence there is all this noise about opensourcing it.

gothgeek84 02-19-2005 06:13 AM

Wow, this thread got busy!

I would just like to say that I greatly disagree with Komakino. It makes it sound like the Linux world is a bunch of freeloading slackers, and that's far from the truth.

As for Padma's remark,
Quote:

I don't really mind the occasional proprietary app, (especially games) as long as it's the best app to do the job, and the company doesn't go out of its way to be anti-FOSS. Yeah, I generally *prefer* Open Source, but it isn't a "must-have" for me.

The Sun JRE/JDK is the best tool for building/running java apps, so I use it. simple.
I think that's what I'm going to go by. While I'd like to keep my system as "open" and Free as possible (and no, I'm not talking about money! I never was), in today's world the occasional proprietary, closed app is a necessity in order to do what needs to me done. As the old saying goes, "don't cut off your nose to spite your face"...wait, I don't think that applies. *shrug*, I've never been good with cliches and the like.

I noticed that src.zip too, but hadn't really looked into it. But, if you notice, Sun actually allows you to download the source seperately on the page to download the JDK. That might make it "open-source", but it doesn't make it "Free" - Free software means you have the freedom to use the software as *you* want, not how they force you to use it. And that's what I want - the freedom to use my computer how I want to, not how the big corporations want me to.

Present 02-19-2005 11:04 AM

woot,

kudos to the differentiations between "free" as in money, and "free" as in FREEDOM!

i prefer to encourage the latter definition in regards to opensource. the focus on money depreciates the value of opensource.

nice discussion

foo_bar_foo 02-19-2005 12:55 PM

Quote:

Originally posted by gothgeek84

I noticed that src.zip too, ... That might make it "open-source", but it doesn't make it "Free" - Free software means you have the freedom to use the software as *you* want, not how they force you to use it. And that's what I want - the freedom to use my computer how I want to, not how the big corporations want me to.

in exactly what way are you not free to use java the way you want on your computer.
as i said you are free even in a comercial setting to rewrite java and recompile it or copy and change java code and compile into your app in any altered way you wish.

Komakino 02-19-2005 04:52 PM

Quote:

Originally posted by tsiMental
As long as there is an open source (non commercial) alternative, which is good enough for my use, of course I want to use the free alternative instead of paying for an expensive app. In many (maybe most) cases, I think the open source alternatives are the better regardless of pricing.



I don't really think so. Linux poses a threat to many companies developing commercial software, e.g. Microsoft. Because of the great marketinfulence that some of these companies imposes, there is little to no possibility that most game companies will start developing commercial Linux games. After all, Microsoft has a great influence on most software development companies and they probably own half of them. This makes it difficult for most game developers to just start developing for any other platform than Microsoft Windows.

Another issue is the ease of use of Microsofts Visual Studio.NET and DirectX. It is probably easier to start developing games in this environment than in any other. Because it is easier to learn and because there are much more and better documentation, both from Microsoft and 3rd party books than on Linux and on OpenGL.

As I see it, as Linux continues to evolve and more developers convert to this platform, there will be many more games ported to Linux. Cause it seems obious to me that this is the operating system of the future and I can hardly see how any commercial firm could compete with the Open Source community, in the long run.

I'm just wondering exactly what you're basing your argument of "It is probably easier to start developing games in this environment than in any other. Because it is easier to learn and because there are much more and better documentation, both from Microsoft and 3rd party books than on Linux and on OpenGL" on? Have you ever tried either? OpenGL is by FAR easier to learn than DirectX and if anything is a preferable route because it's multiplatform. DirectX is in fact a very complex and difficult to use game library, in many ways inferior to opengl, which is itself not lacking in either documentation or community support. Whilst some companies are reluctant to release games on linux, they do release them on Mac. For this reason OpenGL is preferable. Also, opengl can be used through a variety of other libraries, such as ClanLib and SDL. SDL is used by several companies (such as Loki) because it's such a competant and practical system.
The number of 'probablies' in your post suggests you 'probably' made up your argument based entirely on your own opinion and not on any real experience or facts.

Electro 02-19-2005 05:25 PM

Just like C/C++, JAVA is programming langauge. JAVA is designed to quickly write a program and to compile it once. Then run it anywhere that Suns Microsystem has ported JAVA to what platform or machine. The JAVA programmer does not need to learn the OS API to develop GUI programs. JAVA runtime virtual machine does the hard work, so all what the JAVA programmer needs to know is the JAVA GUI syntax. The user can take the JAVA programmer's pre-compiled program and decompiled it with out any problems if the user wants to look at the code.

JAVA is free. Just download it and install it. It does come with open source, so you are FREE to mess up the code or add something better. Some JAVA programs may not work right. Also there are many JAVA distributors that have added a feature and increase the performance for certain variable types.

A program called Azureus is a JAVA based program that runs in Linux, Mac, and Windows. Azureus is BitTorrent client that can be decompiled to be enhanced, to fix bugs, or anything you want add and subtract. You are FREE to use Azureus.

tsiMental 02-19-2005 06:44 PM

For Komakino:

Yeah, I have tried both programming in OpenGL and DirectX. I'm able to write games in DirectX, using C# or C++. Though I partly agree with you, cause multiplatform game programming is what you should aim for, when you're developing a game. Although, I disagree on OpenGL having good documentation. There are almost no new books on the topic. To state this point, you could try a search for "OpenGL game programming" at Amazon and a similar search for "DirectX game programming." You could possily omit the word "game" in your searches too and see what you find.

Altough, it has to be said, the documentation following Microsoft DirectX SDK isn't exceptionally good either. But atleast there are more and better books on DirectX. See Tom Millers - "Managed DirectX 9 - Graphics and Game Programming." To mention a really good one.

To say that programming in DirectX is restricting your release to Windows isn't exactly accurate. Because, you could release it on the major console platforms, xbox, PS2 and gamecube very easily. Though porting a DirectX game to Linux/MacOS can prove to be more difficult and requires porting it to OpenGL.

The reason why I say OpenGL is more difficult is probably because I started on some scattered tutorials some years ago and I never made any sence of it. (Maybe I wasn't commited enough). Some time after that, I was able to learn DirectX. Altough I'm about to start programming a new game and I though it would be nice to do it in OpenGL and on Linux. I've ordered these:
"OpenGL Game Development" ~Chris Seddon 2004
"OpenGL Super Bible" ~OpenGL Architecture Review Board 2004

And we'll see if I come to review my standings on the issue when I've read these books.


All times are GMT -5. The time now is 12:49 AM.