Python Now GPL compatible
Shane Hathaway writes: "I'm sure the slashdot readership will be happy to learn that
Python is now compatible with the GPL. It's a bugfix
for Python 2.0 but a similar release is planned for Python 2.1."
← Back to Stories (view on slashdot.org)
Please explain to me why everything has to be "GPL-compatible"? Why can't a company be free to release an open-source app that doesn't allow the General Public Virus to invade? Or is this another example of Slashdot selfishness; "gimme gimme gimme!"
Personally I'm a little tired of hearing about people bashing RMS & GNU & GPL without realizing the purpose and ideals behind it all.
Go read some GNU! GNU is about changing society, not just sourcecode, that is opensource.
Python is not and never will be released under the GPL. It has always been the intention that you can take Python and do whatever you want with it, including modifying it and sticking it in your closed, proprietary, $$$ system. You can also use it for your open source system, or anything in between. The new license changes none of that.
What has changed with the 2.0.1 license is the ability to legally link Python with other totally unrelated GPL-covered software. For example, you cannot legally distribute a binary of Python 2.0 linked with the GNU readline library. That sucks. But now it is legal to link Python 2.0.1 with readline and distribute that binary. That rocks.
The use of BSD stack in Windows and the existence of several proprietary versions of X and Apache are just some examples of freedom lost by users because of the license used.
Well, actually, that's the thing. It's tough to claim that "users" are all programmers.
Personally, i'm much more interested in seeing the BSD stack used by Windows than in forcing MS to reinvent the wheel. The more reimplimentations there are, the more opportunities for bugs and exploits.
If the first, and for some time, the only license that guarantees that users will have freedom to use, adapt, copy and redistribute, any free software license should be compatible with it, right ?
My software is free because it can be used by anyone for anything. Python's license was free, but allowed some additional protection for the corporate lawyers (no additional freedom, mind you, just additional "can't blame us"-ness).
I don't have a problem with RMS having principles and not betraying them. I do have a problem with pressure being put on an already free product to conform to an ideal that the author of that product doesn't share.
--
DO NOT LEAVE IT IS NOT REAL
I'm sure there are more examples, but the NeXT/gcc one is the most famous.
There is one important point that noone seems to have mentioned yet. While there may be a lot of arguments about the merrits of different licenses, it is very desireable for different free software packages to have compatible licenses.
If we restrict ourselves to the point of view of an end user of software, and only consider the static availability of software at a time, this might seem unimportant. However, from a broader perspective, this becomes very relevant.
As an example, it is now possible to embed Python as a scripting language into any GPL'ed application. And we can pull the regexp code out of Python and use it in gawk (or vice versa).
Stephan
I like Ruby's Smalltalk-like semantics, but I must admit I'm afraid of its Perl-like syntax. Why, oh why, did he choose the most random syntax for what would otherwise be an elegant language?
Legal documents are all about being anal. The law is all about being anal. Guido doesn't care about this -- so be it. But it's because some people do care about this that the GPL exists and serves a real purpose in the world. Otherwise the GPL would just be so many words.
hawk, fearful of the borg
>lead to hell" philosophy, but
*shrug* It's your soul . . .
:)
hawk
>toys to play with, including you. You play with other people's toys,
>but when someone reaches for one of your toys you slap their hand and
>scream, "That's my toy!"
OK, but this is also a fair description of the GPL and an assortment of
free licenses.
There seems to be an assumption in these arguments that anyone using
other code takes a full GPL project and modifies it to do something
else--in which case the argment makes sense that the whole thing should
carry the GPL. Or that the GPL project uses a tad of code from software
under a free license. IT doesn't consider the other direction--that
a massive free project wants to use a tad of GPL code, but cannot do
so under its own license.
hawk
hawk
The primary reason that anyone cared about making Python's license GPL compatible is due to the fact that Python is a very popular embedded language. In fact, that's one of Python's major strengths. Before version 1.6 came out (with a GPL incompatible license) a whole pile of GPLed programs had already adopted Python as their embedded scripting language. However, with the new license they no longer could use the newer version of Python (because of the incompatible license). That meant that all of these projects were going to be stuck with version 1.5.2 of Python forever (several of them probably wished that they had followed the GNU standard and embedded guile instead).
Guido wanted to make sure that Python could still be embedded in GPLed software, and so the Python folks have been working really hard to sort the license stuff out.
As for why you would use the GPL as a license. Well, there are several reasons. Many free software hackers use the GPL for political reasons. They feel that the "freedom" that the GPL insures is worth the extra hassle. Other more pragmatic hackers use the GPL because it allows them to release the source code to their work and yet still maintain control of it. For example, it is becoming fairly common to release GPLed software under dual licenses. To people who want to use the source in Free Software the author shares the source under the GPL. However, if someone wants to use the same software in a commercial project then the author licenses the code to the individual or company under a commercial license. That way the hacker can make his software available to other free software hackers under a free license, but still charge commercial developers money for the same source.
It is important to note that Python is not releasing their source under the GPL. Their license is quite a bit more liberal than the GPL and allows the use of Python source in commercial closed source products. Their new license is simply GPL compatible, which means that GPL hackers will be able to upgrade.
That's good news for everyone.
rfsayre wrote:
The GPL ensures that no one has more (or less) control over the the code than the author.
All licences, by definition, are issued by the controlling party (i.e. author or legal rights holder) to the users.
I appreciate your comment; however, this still doesn't answer the original question: How is the GPL superior to other licences?
And no, this was not intended as a troll nor as flamebait. I really want to understand how the GPL is better than other Open Source licences. I understand why some people consider Open Source licences superior to commercial licences (I release software under both types of licences depending on business objectives). This is about understanding why people get so hot and bothered about the GPL.
Thanks,
Ehttp://eugeneciurana.com | http://ciurana.eu
Dear proxima,
Thanks very much for your explanation. It helped me understand what the issues are from a non-fanatical point of view. I appreciate the time you took in putting your answer together.
Best wishes,
Ehttp://eugeneciurana.com | http://ciurana.eu
And so I ask you: If you are writing proprietary applications, or allowing development of proprietary applications, then what right do you have to complain against the GPL, when your own proprietary program has a far more restrictive license?
Please let loose the strings on your own code, before you complain about strings other people choose to attach on their code. You're the one who is crying gimme gimme gimme.
Irrelevant, though; languages don't link to the interpreter, they're executed by it. Your Gnumeric spreadsheets don't need to be GPLed, and your Python programs don't have to fall under the Python license. Python isn't GPLed, but there is GPLed Python software, and also completely proprietary Python software.
Note that GvR does not work for CNRI any longer; he works for Digital Creations. He previously worked at CNRI, and when he and his team left, CNRI's management wanted to revise the license to suit their legal view of the world, leading to this morass.
I'd also recommend that you try Ruby. I think you could consider it the next generation after Perl and Python. Very clean, O-O language with regular expressions and closures. I wrote in Python for a while, including Zope, and ended up switching to Ruby. I'm using the Debian Ruby packages from "unstable", which work excellently.
Thanks
Bruce
Bruce Perens.
Just to clarify another common misconception in this article, you are not forced to distribute your source code if you make mods to a GPLed program - only if you distribute the modified version.
--
the telephone rings / problem between screen and chair / thoughts of homocide
"don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
"I have, on the other hand, dealt with many companies who refuse to use GPL's software due to the restrictions it introduces, as well as the general lack of accountbility which is an integral part of most open-source licenses."
The lack of accountability? {boggle} Do the people at the many companies you've dealt with actually READ the licensing agreements on the commercial software they are paying for? Without naming names, pick any J. Random Licensing Agreement and you'll see words to the effect of "We promise nothing. We accept no responsibility. Don't be surprised if this software is utterly unfit for anything, including the task for which you are paying the license fee. Anything that happens is on your head. Now pay up, bitch."
At least when open/free software rejects accountability, it does so with a sense of "You get what you pay for." If I were paying a thousand bucks a head for {important software package critical to my business success} I'd be a little less forgiving of the "Don't call me" attitude.
Learn to spell: nickel, missile, lose, solely, amendment, speech, kernel, probably, ridiculous, deity, hierarchy, versus
The only thing you have wrong is #1. The only people you have to provide source to are the people you provide binaries to. Even though Linus is the copyright holder, he doesn't get any rights to your version unless you give him the binaries.
You left out an important part of #2, though: You have to give the purchasers of the VCR the right to modify and redistribute the code (under the GPL), as well as simply obtaining it.
According to their license and their sourceforge site the Jython license is OSI-approved, but GPL-compatibility is not quite the same thing.
Jython is cool because it allows Python code to be compiled into Java class files, but you need to distribute those files along with the Jython class files... but if you're distributing them together, doesn't that break the GPL?
--Cycon
Your Brain + EEG + LEGO Robots = Brainstorms
The GPL is a license which grants the same rights to everybody, and only a license like this can sensibly be used as a compatibility standard
The owner of the copyright still has more rights than anyone else. He can relicense it under a different license. No one else is granting that power. So the initial developer has special rights, just like in the NPL case. Granted, they don't cause the problems that occur with NPL, but special rights still exist.
Licenses like public domain and BSD don't have tihs problem.
If you believe in copyleft, then the GPL is the only sensible choice.
This is a meaningless statement, since copyleft is tautologically equivalent to the GPL. Copyleft is a neologism coined by the FSF to mean "a general method for making a program free software and requiring all modified and extended versions of the program to be free software as well." And since they have a non-standard definition of "free", theirs is the only license that fully satisfies their definition of "copyleft".
Try reading over their license list: X license - not copyleft, BSD license - not copyleft, W3C license - not copyleft, Artistic license - not copyleft, Python license - not copyleft, Apache license - not copyleft, Zope license - not copyleft, OpenLDAP license - not copyleft, IBM PL, Mozilla PL, Sun PL, Netscape PL, Qt PL, PHP license, all not copyleft.
I would like to know why many people in the community are so hung up on the GPL. How is it better than the Apache, BSD, Mozilla, Artistic or other licences?
The GPL makes certain types of free software businesses more viable by requiring that others who build on the GPL'ed work must make their work freely redistributable, but some other copying conditions also have this property to varying degrees, for example the Mozilla Public License. What makes the GPL special in comparison to other copying conditions that have this crucial type of restriction is that the GPL has the largest collection of legally cominglable software (which includes a lot of software that does not restrict proprietary variants, like "new BSD style", "MIT style" and public domain). This software includes critical components of a free system, such as the GNU compilers and the best implementations of a myriad of unix-style utilities. Why is the amount of mutually cominglable software important? Because the efficiencies of software sharing depend on what software there is to share, and often this sharing occurs in ways that were not efficient to anticipate as an prewritten programming interface when the software is originally created. Software recycling is a network effect. So, if you write code under GPL compatible copying conditions, it should find the most use, adaptation and contribution in the future.
By the way, some people also feel there is an ethetical issue in wanting or opposing restrictions against derivative works. I think both of those groups probably feel something that is part of a larger efficiency ethic that angers us when we see our time being wasted even when we are being paid by the hour, for example, and that probably motivates a lot of free software development by itself.
Of course, I imagine other people have other reasons as well. I certainly don't know everyone's mind on this.
11763 is less than 18296.
--
--
Mod up a post Rob doesn't like and you'll never mod again
--
--
Mod up a post Rob doesn't like and you'll never mod again
--
--
Mod up a post Rob doesn't like and you'll never mod again
I have no trouble with either license -- it's up to the original developer to choose one. And while it's tempting to view the GPL as non-free since you aren't free to co-opt the code, I really like the "sharing is a two-way street" mentality of the GPL.
If you take code under the GPL, modify it, release the binaries without the source and then claim ignorance and whine that the GPL has somehow "infected" your hard work, you're just dumb. If Microsoft believes that all their customers should read and understand the five-page, ALL CAPS legalese they ship with their products, they should be held accountable for realizing when they're basing their code off something that's released under the GPL. And so instead they spread FUD that GPL code is a bad thing since they can't use it in their products.
Pop quiz. You arrive at a birthday party, and everyone's brought some toys to play with, including you. You play with other people's toys, but when someone reaches for one of your toys you slap their hand and scream, "That's my toy!" How long before you get kicked out of the party? And how many people in attendance will miss you?
Peace PatientZero
Freedom to fear. Freedom from thought. Freedom to kill.
I guess the War on Terror really is about freedom!
I'm not sure that it necessarily is better. But it is older than most of the licenses you listed in your original comment. It also covers lots of packages. While courts should not decide on votes, if there were a challenge of the legitimacy of the GPL, the fact that a billion-trillion "Hello, World" programs are released under it might add a little pressure.
As to why not use (for example) the NPL? If I recall, many of the rights revert back to Netscape. I think the IBMPL and some of the others are similar. To have a license that I (as a developer, even though I'm not, really) value, I would have to change all instances of "Netscape Communications Corp." to "George Howell".
Which raises this problem: I can't afford to protect my license. Netscape (via AOL/TW) can. My only alternative is to release under GPL or BSD (as they are the only two that allow ME to retain my code, not Netscape). Both are backed by organizations that, while not as large as AOL/TW, are much larger that George Howell. So they have a better chance of getting the license to stand on its face. Then I just need to apply it to my situation (or assign rights to the FSF in the first place, but that's starting to get far afield).
So, should you ever see my software (and if you don't work at my company, you probably won't see my "Hello, World, and Everybody" scripts:) it is under GPL because:
BSD doesn't keep M$ from stealing my stuff (and I could give a rat's ass about their right to make money on my stuff)
NPL gives Netscape my rights
Other people will fund the initial challenges to the GPL.
YMMV, and all that rubbish.
Jesus was all right but his disciples were thick and ordinary. -John Lennon
I'm not sure which companies are buying all of these bargain priced service contracts. I work for a small company ($4million US) and started work there after having some of these erstwhile contracts. Quite frankly, they were for shit. After about 8 months of me wiping the asses and covering for idiots, I cancelled the contracts, and did my own damned maintenance. The cost savings have been tremendous.
Problem is, by kicking out various proprietary cruft (Yeah, yeah, M$ was my first target, but there are others) I'm also making my job a hell of a lot easier, as the *nix stuff just keeps on going and going and going...
I'm not saying that some companies don't get some measure of value out of service contracts. But I have a feeling that most of them were purchased without a cost-benefit analysis (with the option of in house experts included) and solely for the purpose of allowing some manager to sleep at night, knowing that the CYA step was accomplished.
So, since I think service contracts are worthless (I figure that I should get what I paid for when I signed my contract. When I get that, THEN I'll start paying for service. But if you give me a 90% program, I consider the time waiting for the other 10% to be an extended installation period.) I don't bother with 'em. Four years and going, and haven't missed 'em a bit. What we have had to pay for, service wise, has been maybe 15% of what the service contract would have been (and no, the service contracts weren't out of the ordinary. They were just as useful as the extended warranty at Circuit City.)
Jesus was all right but his disciples were thick and ordinary. -John Lennon
I guess they wanted to update it to get more people to go to the movie. This crap of the MPAA licensing movies and requiring a click-through is getting out of hand.
But won't John Cleese be pissed off if I steal his bits for my own comedy act?
...Programming language? WTF are you talking about?
Jesus was all right but his disciples were thick and ordinary. -John Lennon
You don't have to declare variables and their type before use.
:)
Ahhh something I hate about both python and perl. Not declaring a variable before use. I am surprised python allows this. They tout themselves as an easy to understand language (whitespace has scope signifigance etc),but they allow the coder to be sloppy. The misspelled variable then becomes valid and a difficult bug to find! Also the declaration of the variable serves as a good place to comment its use. In my opinion the strict pragma (or whatever it is in perl) should be mandatory. But everyone has their own preferences
r
---
Take an existing GPL-project like Open Office, which is dual licensed.
They can actually demand that people who want their patches included in official release agree to cross-license their code. Noone has a right to get any code included in the official Linux kernel for example. So Linus could have (from the start, now it is next to impossible as he has to get approval from all contributors),
released the Linuxkernel, and demanded that people who wanted anything in the official Linuxkernel cross-licensed their code. Of course he could also demand that any forks is not to be called Linux as he has copyright on that name.
Of course, anyone can fork Open Office so that they don't have to submit anything cross-licensed, and the official Open Office cannot use it unless they only make it available in their GPL-version.
Note: I'm not saying this is how Open Office currently works, it is just an example.
The point behind cross-licensing is to make the original authors capable of releasing a commercial version.
For instance.. Qt is available in two licenses, GPL and commercial. This makes sure that Trolltech can earn money off people wanting to develop closed-source projects.
I do not know how their policy on patches is, but if they do not demand patches to be cross-licensed I would except that most people submit patches to them cross-licensed anyway, since they recognize the important work Trolltech has done for the community and wants to give something back.
Not only flamebait, but also very wrong.
I'm normally in favor of the GPL, but when it comes to interpreted languages, I'm glad they are not GPL'd, as anything that LINKS to a GPL'd application (with an exception when it comes to system libraries), has to be GPL'd.
As a python-script is totally dependent of Python, this would make all python-scripts GPL'd.. of course, Python isn't GPL'd so this isn't a problem.
The moral is; choose licenses with care, neither the BSD nor the GPL is any better than the other, they are different though.
.. I don't normally think that the proprietary plugins are ok with a stock GPL-license. As long as the plugins are dependent on the GIMP, then they have to be GPL as well.
However, I _do_ think that in this particular case (The Gimp), there is an exception-clause that grants you the right to create proprietary plugins.
The same is true for the Linux-kernel, for which Linus Torvalds has said that proprietary kernel-modules that do not modify any kernel-code, is ok.
I'm running a stock Red Hat 7.1 box; the only mods are that I'm running GNOME 1.4, Mozilla 0.9.1 (which broke parts of Nautilus), and I've got Python 2.1 installed.
#!/usr/bin/env python
... will always run Python 1.5.x, and
#!/usr/bin/env python2
... will always run Python 2.1.
In other words, exactly what is it that you're complaining about here? Seems to me like you're whining over a problem which doesn't even exist.
yes, the fact that I don't own a TV set *does* make me a better person.
Ahh, straight out of one of my favorites from The Onion: Area Man Constantly Mentioning He Doesn't Own A Television
Maybe not having a TV makes you a better person, but being a smug prick does not.
-Bruce
That would be very amusing. The resulting collection of software would be incompatible with itself. NPL grants special rights to the initial developer. If you have product A NPLed by vendor AA, and product B NPLed by vendor BB, then a third party cannot legally distribute a combined work AB, because they'd have to grant extra rights over A to vendor BB and extra rights over B to vendor AA, which a third party has no power to do.
If you have any license which grants more rights to one party than another, then that license is useless as a "gold standard of compatibility". The GPL is a license which grants the same rights to everybody, and only a license like this can sensibly be used as a compatibility standard. If you believe in copyleft, then the GPL is the only sensible choice.
perl -e 'fork||print for split//,"hahahaha"'
(Reality reasserts itself sooner or later.)
Guido's quote in the very interview you reference.
[full document]
Want Root?
What, now the licenses have bugs too? I'd better start asking my lawyer what debugger he uses...
I could not agree more. For chrissakes, people, use software that does what you want. I don't give a damn what license a piece of software uses, if it does what I need, I'll use it and speak highly of it too. If I have to pay for it, that's fine too. Life's way too short to put up with crap software, just because of sillyness like this.
I wonder how many blind zealots there were that did not use python (until now) because of its GPL-incompatible licensing issues?
---
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
and it _wasn't_ ultimately his decision.
If someone was whining in your ear non-stop, would it be "your decision" to walk away, or would you be forced to, to save yourself a headache?
---
python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
The BSD license gets referred to as a flaw in the opensource system. I really hate to use this as a reference but the movie Antitrust spoke about code that could well have been under a BSD type license.
Um, it is under another open source license -- one that's less restrictive than the GPL, and allows integration into closed source programs. The BSD-like license it's now under, however, is compatible with the GPL, so it can be used in GPLed programs.
Jeremy
--
Looking for a Python IRC bot?
One thing I'll never understand is how a program can be GPL compatible AND cross-licensed. That just doesn't make sense to me, unless people do submit GPL-only patches that will never make it into the BSD-branch. Suddenly you've forked the project. Either that, or you're breaking the law in some way. What IS the point?
- Steeltoe
http://www.debunkingskeptics.com/
Just to clarify a common misconception on this thread, Python is not subject to the GPL. You are not forced to distribute your source code if you make mods to Python. The license is actually more like BSD and Apache (free to modify and distribute; must cite copyright). "Compatible" just means that the FSF has signed off on the wording on the license in relation to linking or including with GPL software.
At a former employer I helped to embed a Python interpreter in a proprietary hard-assed firewall system, some components of which were classified by the feds. That's about as non-open as you can get.
C++ and, as of C99, C permit the declaration of variables with scope local to the loop within the initializer part of the for construct, not to mention the declaration of variables anywhere within a block rather than strictly at the top. The top is still better for most things. But if the variable has no significance to the over-all function, it might be better to move the declaration towards the area its used, just to keep the top-most declarations wholly relevant to the function.
I believe you can require explicit type declarations of variables in later versions of FORTRAN (F90, I think) by beginning the program unit with IMPLICIT NONE and, what's more, that you are generally recommended to do so.
Ack! Not to be too pedantic, but these sorts of unstructured BASICs that you refer to are not "old" but new. Well, sort of. We've seen, recently, a push towards BASICs that are more structured. However, the microprocessor BASICs were vastly stripped down versions of the original by Kemeny and Kurtz. The two combined efforts to produce TrueBASIC some time after the original had come and past. TrueBASIC, as its name implies, was intended to be the true-form of BASIC, and it is a structured language with variable declaration, etc. Kemeny, BTW, is a fascinating person with amazing historical significance both in and out of the field of computer science. I don't think most people are aware of, nor would immediately believe if told, the fact that one of the co-inventors of BASIC (Kemeny) also was a mathematical assistant to Einstein, helped invent the first time-sharing computer system, reviewed the Three Mile Island disaster (and condemned some aspects of nuclear energy) under authority of President Jimmy Carter, etc. Amazing how so much history intertwines, yes?
If a corporation is a personhood, is owning stock slavery?
Therefore, the __future__ model seems to me to be wholly appropriate and a reason to take the language seriously. It's advancement of the language without dismissing backwards compatability--even when the code that is now incompatable has always been dubious in style and/or substance. By introducing __future__, programs that abused the language in manners that aren't permissable with nested scopes do not require a change to continue to operate under 2.1 and you have ample time and warning to change anything that confusingly re-uses variable names.
If a corporation is a personhood, is owning stock slavery?
Most introductory Java books or classes (note that the following is true of C and C++, too) begin by giving you a skeletal framework and telling users to fill in the blanks and ignore the trappings of the program which will be discussed in detail later. A lot of people don't like the idea of being told, "We're going to start now, by throwing together a whole bunch of stuff you don't understand and I won't explain until much later, and then writing a single line or two." There's some innate skepticism and curiousity that makes many people very dissatisfied with the idea that there should be a bunch of stuff in their beginning programs that they aren't expected to understand and that won't be explained to them. With Python, it's possible to just sit down and write some stuff, and build up to more complex trappings.
If a corporation is a personhood, is owning stock slavery?
Above all Python is the most _fun_ I've had in any language I can think of. That's worth a bunch as well=)
-
-
Listen. Strange women lying in ponds distributing swords is no basis for a system of government.
How they claim the freedom to choose which OS you prefer, but it must be linux. If you love freedom of choice so much then you should not complain about people who prefer windows/macos/bsd/commercial unix/etc/etc.
Only the State obtains its revenue by coercion. - Murray Rothbard
I think I have far too much hold over the world. Just yesterday I decided to quit learning Python in favour of C purely because of this issue, and today they go GPL...
I'm scared...
---
The only pressure put on them to be GPL compatible was the number of programmers who would use a GPL compatible python vs the number who would not.
So this choice to become compatible was entirely the developers free will.
Disclaimer: I am by no means a GPL fanatic. But nonetheless I think I can help to answer your question.
The biggest component of the GPL that RMS and the fans of GPL like is the same thing that made Microsoft incorrectly call it a "cancer". The GPL basically says that if you take the source code to a GPL program, make changes, and then distribute the binary, you are obligated to release the source to whomever you released the binary. In addition, you must release your new source under the GPL license, which gives the new users of the source the ability to distribute the code for free, even if you do not. This does NOT mean you can't sell it, or that you have to give away your program free at all. It just means that the first person you sell code to has the ability to give it away.
People misunderstand the GPL because they see companies like Red Hat and Mandrake giving away almost all of their products off of FTP sites. They could, if they chose, only sell their CDs. The CDs, though, must have the source code for every GPL program on them. If they don't, they need to make that source code publicly available (like on a web site). If someone were to buy these CDs though, they have every right to take the GPL programs off the CD and redistribute them, for whatever price they want.
Some of the other licenses you mentioned do not require that the source code be released when code is used in another program (called a "derivative" work). This appeals more to closed-source companies that want to take advantage of open-source products without releasing their source code. I'm not as familiar with the specifics of each license, but I'm fairly sure that the ability to keep source closed applies to BSD, Apache, and Artistic licenses.
One more note about the GPL. One can distribute closed source programs that use GPL code, but the code must be seperated. A good example of this might be a program like the GIMP (image editor) with proprietary plugins. You can ship both together, since the GIMP is self-contained, and your plugins can still be closed-source.
In addition to the GPL, the LGPL (Lesser General Public License) exists but is not recommended by RMS and the gang. It's used primarily for libraries and allows closed-source products to fully contain the LGPL code. Library designers use this because they want their programming code to be used with commercial products. An example of this is wxWindows, a cross-platform C++ GUI library.
So basically the main reason that some people like GPL programs is that it does somewhat "promote" open-source, by requiring programs that use it to remain open-source for everyone. It's among the most restrictive and wordy licenses, you are correct, but I'm not familiar with any open-source license being completely challenged in court.
Hope this helps.
"The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
Leave it out, user #3872. This joke got old years ago.
-- the most controversial site on the Web
Now you can have your Python interpetor as "free" software, weither gratis or what not. So? Unless you are -really- intrested in such a thing as working and re-distributing the work (I'm sure many are), I would say that the only thing that I'm not too sure on is any and all libs that can be used are/aren't GPL'ed (I feel that the LGPL on extra libs would be apporopriate; there are many uses for a Python script.) and you are a coder in python. I'm not a Python coder. I could care less.
The GPL isn't the only open-source licence. I feel my work should be under an X11 licence, or a BSD-style licence, unless someone like M$ finds it useful. In that case, I would GPL it.
The GPL is great, but if I'm working on this for a company (yeah, boo me while you go play Quake under its EULA) it's a hassle. RMS thinks that proprietary is the devil of programs. I don't quite agree. M$ is the devil of all programs; they abuse their position. Other proprietary things don't hurt unless you are the ones getting pissed on. How do you think I feel when I can't use hardware with a proprietary interface on Linux? Yet that same cheapo device works on my mom's computer and I get the good hardware. :-)
Anyway, this seems to be more a rant imo. Though I don't feel it has to do with Python; nessiarly ;-) I like that it's GPL'ed, but what would happen if it was put under another open-source licence? Would it make /.?
Karma whorin' since 1999
What's wrong with this? It's important that people understand what licenses are compatible with the GPL. If you blindly go about merging GPL'd code with GPL-incompatible, you're violating license agreements. By dubbing the whole thing GPL, you're violating the non-GPL license. And by not doing so, you're violating the GPL license. That's just the way the GPL works. License compatibility has to be clearcut, otherwise the license is not enforceable. The list clearly shows that GPL has a lot of compatibility problems. If that's a problem for you, the solution is not to use the GPL'd code.
Well, would you rather watch any old basketball game, or one featuring your favorite team?
:)
Would you rather that your favorite team lost, or won?
What team do most people in Los Angeles root for?
And finally... can you guess what all this might have to do with the GPL and RMS?
Why does it really matter if programs are GPL compatible? I understand the whole linking issue and legalities behind it still seems ridiculous to me.
Let me explain my point of view: RMS whines about the freedoms of users and programmers regarding software, but what about the freedom to use the license that you want to for your software? I know RMS isn't forcing anyone to use the GPL or a compatible license, but who out there believes that he wouldn't if he could?
The impression I get is that RMS treats free software as a religion and like most religions it's followers not only believe that it is the only right one and all others should convert, but they preach it to everyone that they can regardless of wether they care or not. It's really annoying to me. (Please Note: I didn't intend this as an attack on religions, just an observation. I respect everyone's beliefs regardless of what they may be).
Now my other opinion is that it's a little conceited to say that "If you want to make sure that your free program is legal you should use a license that is compatible with the GPL". I agree that most Linux distros have an incredibly high concentration of GPL software, but that's only Linux distros. What about commercial UNIX's and the BSD's?
Personally I think that RMS should revise the GPL instead of trying to get the whole world to use it.
<sarcasm>
From this point forward I urge everyone to choose a license that is compatible with the NPL (Netscape Public License). I will create a list shortly and post it on the web somewhere and every free software developer should read this list and choose one on it for their software.
</sarcasm>
--
Garett
--RMS
--
--hongpong.com
I'm disappointed to see that someone felt my comments were flaimbait.
Perhaps I was not clear in my point, which was not relating to the accountability (or lack thereof) established in shrink-wrapped licenses, but more relating to the ability to have a company to rely on to provide primarily technical support. The software to which I was refering was the category of development tools, libraries and other resources such as embedded realtim operating systems. These pieces of software typically have comprehensive support contracts associated with their licenses, as well as financial non-performance penalties.
These are things you simply can't get with OSS software regardless of weather it's GPL'd ordistributed under any other OSS license.
Well, more precisely, most large corporations have not yet realized the value they can extract from OSS through contracting with OSS support companies such as NuSphere which supports MySQL, and others that commercially package OSS apps. My point here, and above is, that it doesn't matter weather softwar is GPL'd or not. OSS is OSS, plain and simple.
--CTH
---
--Got Lists? | Top 95 Star Wars Line
OK, so I'm not sure I see the value in apeasing the Free Software Foundation anymore. At one point they were the only folks championing a unique and at that time - new and different development and software distribution model, but at this point, there are enough open-source licenses out there which all offer substancially the same protections to the author of a product, and provide the same rights and restrictions on distribution.
I understand the derivitive work licensing componant of the GPL, but that aside for the moment - assuming the author of the application in question has no interest in this provision, what is the real value in making your license GPL compatible? What does that buy you? I have yet to hear of a company that refuses to use non GPL compliant software. I have, on the other hand, dealt with many companies who refuse to use GPL's software due to the restrictions it introduces, as well as the general lack of accountbility which is an integral part of most open-source licenses.
With this in mind, why would someone spend such inordinate amounts of time making software (it's license, rather) GPL compliant? It doesn't make the software any more free (monetarily speaking) or any more Open-Source... So why bother?
Are there really people out there who refuse to use non-GPL's software or something?
--CTH
---
--Got Lists? | Top 95 Star Wars Line
Yeah, god knows nobody's ever done that here before.
Nope, all in all I think flaming you might actually be more fun. And more useful to the human race. Idiot.
News for Nerds. Stuff that Matters? Like hell.
The GPL is a choice. Some developers choose closed source. Some choose public domain. Some choose the BSD licence.
The GPL ensures that no one has more (or less) control over the code than the author. You might prefer a different license, and you're free to use it on your code. If you have problems with the GPL, just don't use GPL programs. Write some new ones yourself.
Art At Home
You don't have to declare variables and their type before use. Sometimes that is good, sometimes it is bad. When I'm just playing around with a little code to see if something will work, I'd rather not have to go back to the top and insert a declaration every time I find I need a variable for a for loop or something. When I was first learning to program 30 years ago, as best I can remember FORTRAN didn't even _allow_ variable declarations except for arrays, and I think that worked out fairly well -- one less thing to worry about on the first few programs. The old unstructured BASIC was even better IMHO, someone with no idea at all of what they were doing could plunge in and start learning by writing programs that often worked. If Python will allow that approach to learning structured programming, even better. Many Computer Science professors will disagree about that ("they don't learn to plan ahead and map out their data structures"), but in my experience, no one can plan ahead _until_ they've written enough programs to get some idea of what they are doing.
But when I write a serious program that has to work right even under conditions I didn't quite anticipate, I certainly want to list all the variables ahead of time, and to have the compiler tell me when I misspell one or use the wrong type. So being able to choose whether or not definitions are mandatory is ideal. Sounds like Python does that.
If I were to use a modified Linux kernel as the operating system for a VCR, plus an application program compiled with gnu C and using an LGPL'd library, then
1) I would have to send Linus a copy of the kernel source code.
2) I would have to provide the purchasers of the VCR some way to get the kernel source code.
3) The kernel would be GPL.
4) The application could be proprietary.
The main problem I can see in this (aside from execs who believe M$ FUD), is that if we made extensive hardware-related changes to the kernel, being able to download the source code would make it easier for our competitors to reverse-engineer the product. However, in most cases this could be avoided by putting the hardware dependent stuff in the proprietary modules, and doing kernel changes only to trim out the unused pieces. (e.g., no disk drive, so delete all that...)
Am I correctly interpreting the GPL?
"If you want to make sure that your free program is legal you should use a license that is compatible with the GPL"
doesn't seem so unreasonable, does it ? If the first, and for some time, the only license that guarantees that users will have freedom to use, adapt, copy and redistribute, any free software license should be compatible with it, right ?
Personally I think that RMS should revise the GPL instead of trying to get the whole world to use it.
Here's an interesting point of view: if you believe in something (in this case free software) and dedicate your life to advocating that something, but the world isn't using right now, you should simply quit, be a buddy and give up all your work as others would like it, not as you which.
Stallman's work is in advocating the GPL. Do you really believe it's reasonable for him to simply loose his principles for the comfort of others who don't believe in the same things ?
-- Face it, at the end of the day, you've got to accept that I am a cunt.
-- Face it, at the end of the day, you've got to accept that I'm a cunt.