Posted
by
kdawson
on Monday June 04, 2007 @03:35AM
from the feature-not-a-bug dept.

chessweb writes "Here is a rather enlightening article by Richard Stallman on the reasons for moving to GPLv3 that puts the previous TiVo post into the right context." From the article: "One major danger that GPLv3 will block is tivoization. Tivoization means computers (called 'appliances') contain GPL-covered software that you can't change, because the appliance shuts down if it detects modified software... The manufacturers of these computers take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv3 ensures you are free to remove the handcuffs. It doesn't forbid DRM, or any kind of feature. It places no limits on the substantive functionality you can add to a program, or remove from it. Rather, it makes sure that you are just as free to remove nasty features as the distributor of your copy was to add them."

As a consultant for several large companies, I'd always done my work onWindows. Recently however, a top online investment firm asked us to dosome work using Linux. The concept of having access to source code wasvery appealing to us, as we'd be able to modify the kernel to meet ourexacting standards which we're unable to do with Microsoft's products.Although we met several technical challenges along the way(specifically, Linux's lack of Token Ring support and the fact that wewere unable to defrag its ext2 fi

Support for my statement above: GPL on Qikipedia [wikipedia.org]
From the link:
Non-GPL'd and non-free software can be developed with GPL'd tools
The program must be GPL only if it includes GPL source code or it is linked with a GPL library. For example, using gcc to compile proprietary software is allowed.

I smell screed here. If you couldn't modify the Windows kernel to meet your 'exacting standards' what did you do? How were you aware of Linux if you weren't aware of the culture and philosophy surrounding free and open source software? What changes did you make to the kernel that were so important that you couldn't release them? And why, in the name of God, are you still using Token Ring? What's to bet that if I put a sentence of this into Google, that I would find it word for word somewhere else?

Seems someone has gone through it though and changed the wording slightly between places. I took the first sentence and search and only got that hit but yes, seems the same text with variation in exact wording exists on other palces too.

Although we had planned for no one outside of this company to ever
use, let alone see the source code, we were now put in a difficult
position. We could either give away our hard work, or come up with
another solution. Although it was tought to do, there really was no
option: We had to rewrite the code, from scratch, for Windows 2000.

Yada-yada-yada. Don't you know that everything that runs on Windows 2000 automatically belongs to Microsoft? No? Fortunately this statement is as much FUD as yours. But I rea

If you really wanted an open source OS that you could steal code from look at BSD.

If someone gives you something, you're not stealing from them. People who use BSD-like licences are giving away their work, usually because they want to maximise the amount of value others get from it. People who use the GPL are not giving away their work, they're making an agreement to exchange it for the work of others. The two objectives are simply different. Why is this so hard for some GPL advocates to understand?

People who use the GPL are not giving away their work, they're making an agreement to exchange it for the work of others.

This isn't entirely accurate either. Rather, it's an agreement to exchange it for the potential work of others. It's not as if most users of GPL products actually make modifications to it and so most of them don't contribute at all.

People who use BSD-like licences are giving away their work, usually because they want to maximise the amount of value others get from it.

It should be noted that people who do this do so in the hope that others will do the same, and the amount of respect you get in such a community relates very closely to the amount that you give. It's a gift economy, and it works pretty well when the cost of giving a copy is so small. (Of course, you actually get something that looks virtually the same with GPL licensed co

Someone with a 6 digit UID that doesn't know that compiling something with GCC *doesn't* make the binary GPL'ed? Hand in your geek credentials please.

This is the sort of FUD that Microsoft must be loving. Every piece of code ever written by vi or emacs certainly isn't GPL'ed, just like every track that was finished up in Audacity isn't GPL'ed and just like people who use Visual Studio aren't obliged to hand over their source and binaries to MS gratis.

Please also note that you're only forced to distribute your modifications if you're distributing/selling the modifications. If you edit some bitchin' GPL code and keep it locked away inside a corporate intranet, I don't think there's any obligation (other than the "spirit" of the GPL) to open up your changes.

Someone with a 6 digit UID that doesn't know that compiling something with GCC *doesn't* make the binary GPL'ed? Hand in your geek credentials please.

Currently, libgcc, libstdc++, and Bison are under the GNU GPL v2. Programs compiled with GCC use libgcc (and libstdc++ if written in C++), and parsers created with Bison use the Bison boilerplate parser. These libraries are GPL with an exception that permits combining the library with the executable without bringing the resulting executable under the GPL in the majority of cases. For example, this is the text of libgcc's exception:

In addition to the permissions in the GNU General Public License, the Free Software Foundation gives you unlimited permission to link the compiled version of this file into combinations with other programs, and to distribute those combinations without any restriction coming from the use of this file. (The General Public License restrictions do apply in other respects; for example, they cover modification of the file, and distribution when not linked into a combine executable.)

FYI, the OP is a known troll. This isn't the first time I've seen it, and I guess that it won't be the last.

also I'm not 100% sure that if you compile under gcc you have to keep it open

I'm 100% sure that you won't need to open the source of programs compiled with GCC. Read the license of GCC, it explicitly states that the output of the program is not covered by the GPL.

The price you pay to use GNU/Linux is if you modify it you have to give your modified code to everyone.

Not entirely true. If you modify, but keep the modified code in-house, you are not required to release anything at all. If you distribute the modified GPL code, you have to distribute (or offer to distribute) th

Aaah, nevermind. Found it myself after searching through Stallman's dogma a bit more carefully.

The ban on tivoization applies to any product whose use by consumers, even occasionally, is to be expected. GPLv3 tolerates tivoization only for products that are almost exclusively meant for businesses and organizations. (The latest draft of GPLv3 states this criterion explicitly.)

As a free software advocate (some may say zealot), this is where I cannot support the actions of the FSF. This exception is extremely hypocritical. Part of the GPL spirit has been freedom for everyone, regardless of tax status. I agree with the root comment, only it's not just RMS who is thinking this way, as RMS isn't the sole author of GPLv3. The FSF officially stating that Tivoization is okay in any circumstance does not set a good example. They might as well be saying, "Yeah, we love freedom, but only most of the time."

Regardless of how you look at it, Tivoization turns free software into proprietary software. The FSF is blessing this. What happened to the Four Freedoms?

Quotes from two prominent FSF essays (emphasis mine):

The freedom to run the program, for any purpose (freedom 0).

The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.

The freedom to redistribute copies so you can help your neighbor (freedom 2).

The freedom to improve the program, and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition for this.

A program is free software if users have all of these freedoms.

...

The freedom to use a program means the freedom for any kind of person or organization to use it on any kind of computer system, for any kind of overall job, and without being required to communicate subsequently with the developer or any other specific entity.

...

Free software is about freedom, and enforcing the GPL is defending freedom. When we defend users' freedom, we are not distracted by side issues such as how much of a distribution fee is charged. Freedom is the issue, the whole issue, and the only issue.

My question for the people at the FSF who've made the decision to allow the tivoisaztion exception: What happened?

You decide there is a feature in the Tivo which you don't particularly like - maybe not being able to skip ads or something, and you decide you want to change it. Free software gives you the right to change things you don't like.

Tivo give you the source code, and a licence which allows you to modify it, but if you try to actually do so, your tivo box won't run it, because the binary code isn't signed by Tivo. In other words, you have re

I think this is a subtle but neat sidestep by the GPL authors. Let's say IBM tivo-ises it's hardware, and only 'TPM approved' apps will run. They stand to get exposed as enemies of Free Software amongst the user community. It's difficult to think of any 'general-purpose-hardware' manufacturer adopting tivo-isation, because the market would buy from the competition instead.Of course, if one is buying AS400s aka white elephants, there's hardly any point complaining about vendor lock-in since no one else make

The interesting part of it is that if you can reliably control what is run on the hardware, the costs can be transferred from the buyer/user of the hardware to others. This means the hardware can potentailly be sold at a lower price than more open hardware, allowing it to gain a competitive advantage if the reduction in functionality is smaller, in monetary terms, than the reduction in the price. If this is the case, both the buyer and the seller can also be said to be better off.

For all Stallman's huffing and puffing about defending freedom, it sounds like he caved in to big business here.

That's because he has.

As for the greater issue of the GPL 3, I don't have much doubt that a lot of business that were considering going to FOSS based solutions will take pause and adopt a 'wait and see' approach while the lawyers sort things out. I'm not arguing the pro's and con's of it; I'm just making an educated guess based on many years in business. The net result may actually be a slowdown

Ok. If I go out and release a professional quality piece of software. Now this arbitrary "consumer clause" would allow commercial manufacturers to rip off my software, place it on tivoized closed hardware and sell it. My software was meant to professional use all along, even though I wanted it to be Free Software.

I thought GPLv3 would protect me, individual free software developer, from this nonsense. But now, what used to be a loophole in GPLv2 is now a right written down for commercial entities to go hunt and close down free software. I sincerely hope somebody will understand and fix this problem before GPLv3 goes final.

While a company could Tivoize your code in locked-down hardware, they still have to release ALL changes to your code. However, I too would like to see an optional clause that the developer can choose whether to allow "Tivoization" or not.

Ok. If I go out and release a professional quality piece of software. Now this arbitrary "consumer clause" would allow commercial manufacturers to rip off my software, place it on tivoized closed hardware and sell it. My software was meant to professional use all along, even though I wanted it to be Free Software.

FTA: GPLv3 tolerates tivoization only for products that are almost exclusively meant for businesses and organizations.

Right, so let's say your local comic shop wants to buy an automatic transaction system for its inventory. Now there's lots of closed source alternatives out there, but being a geek they want to support open source and perhaps modify it themselves and release their source code. They look for some free software versions and the only one they find is a system that comes with preinstalled on the hardware (which is pretty good because their current hardware needs replacement) and so they go to buy it, before they realize that they won't be able to modify it, because its been tivoized. If this geek were buying it for his home he would have protections from this tivoization under the GPL, but because its for his comic shop, he has no such protections.
This is good, why?

Professor Moglen mentioned that in many cases businesses _want_ to buy locked-down hardware where they cannot change the software (perhaps for regulatory reasons). Most of the serious abuses and loss of freedom (such as imposing DRM with no way to disable it) occur in consumer products, so it's a reasonable compromise to make freedom an inalienable right for consumers, while allowing businesses a bit more rope to hang themselves with if they really want to use locked-down systems.

ASP loophole = the fact that the GPL doesn't cover programs you use over a network.

As an AC reply noted (thanks, AC!), there's something called the Affero GPL, and you can (if I'm reading the draft right, I could be wrong) distribute GPL3 code under the Affero GPL. If you do that then anyone installing the program on a network (e.g. a web server) will have to make the source available to its users.

Pretty much. GPLv3 is a great win for Microsoft in the embedded market.The lesson here is don't try and build a product using GPL software because if RMS decides that you don't fit their philosophical outlook they will jerk they will change the license to make you conform to their ideal.What percentage of Tivo customers are upset that they can't hack their Tivo?The inability to run modified code also means an increase in the security of a Tivo placed on the network. Anyone want to deal with Zombie Tivos?Tiv

Stallman always talks about freedom and all that, but what if I want to write a new DRM system? The software license should not tell you what you can or cannot code.

In a more/. speak: In GPL3 land, the license programs you!

I am completely against DRM, but I am completely in favor fo free will. People should have the right to code whatever they want. Ok, obviously, GPL3 is not compulsory, so you can release things in GLP2 if you want, but this does not change the fact that version 3 is removing freedoms f

You are free to code any damn thing you want. If you use GPLv3 code you need to respect the wishes of the writers of that code, code you use for free. Release your own code under any damn license you want to. It's yours. If you don't like the terms of GPLv3 then don't use it, and certainly don't complain about code others wrote and gave to you without cost, asking only that you return the favor, and release any improvements you DISTRIBUTE back for others to use and improve. If you don't like GPLv3, just don't use it.

You can DRM using GPL3 all you want, but the code has to be free. Put that in your pipe and smoke it.

This only means that DRM will need to be implemented in the way that DRM should have been implemented all along (to the extent that DRM should exist, anyway): it will need to make use of PKI to ensure that each consumer has his own key with which to unlock his licensed content. This key, not being part of the source code, means that the implementation can be open while the DRM can be bullet proof right up until the final conversion to analog.

As long as end users control their software, DRM doesn't stand much of a chance.

This comes very close to pointing out exactly why GPLv3 may help the development of truly effective DRM. Effective DRM needs to have all of its sensitive functions hidden away in difficult-to-access hardware but so long as developers can get sort-of-safe-enough solutions by writing sufficiently obfuscated software they will continue to do so. It's the easy solution after all. If GPLv3 helps to do away with this obfuscation, the only real way to go for DRM is by having consumer keys on smartcards, trusted hardware paths throughout the computer system, and access to the plaintext only at the very last link: user presentation. (Obviously, there are many problems to solve in getting there and they are difficult ones - hence why no one has bothered doing it yet.)

Now, it may be that GPLv3 turns out to be entirely irrelevant for DRM since nobody uses it for DRM software anyway. My comments are based on the assumption that GPLv3 will have some effect, and my prediction is that if that happens then the effect will be to move DRM towards more robust solutions.

You are free to license your code with whatever license you want, including the GPL.

If you release your shiny new DRM system under the GPL, you need to release the source-code for it. Releasing the source-code for a DRM system is a pretty stupid thing to do since it will make your DRM system a lot easier to circumvent. Why would you even consider releasing a DRM system under some sort of open source license?

Same reason for why we'd release anti-virus programs (Clam AV) or web servers (Apache) under open source licenses. It helps us continually improve the software, and helps us remove any flaws that are disclosed.DRM often works in this way: You have "the lock", your method, the software. This is what they want to work without flaws. Then they have "the key", which are some sort of crypto key. What they want is the usage of the lock and key to be unnoticable by the user. Letting people improve the lock does no

I actually thought about that, but realized that the GP probably only would be able to program a mediocre DRM system, and as such, he would be better off keeping it closed source.:-)Also, I don't think even the open source movement could build a truly secure DRM system. I know you're thinking of PGP, but that builds on mutually shared secrets and prevents an outsider to get access. DRM is flawed by design, since the "user" gets both the DRM system and the keys to it. If I can view it, I can copy it. End of

...and another one who also fails to see the difference between DRM and encrypted messages. Come on people!

With PGP (and GPG or whatever) your encrypted messages can be freely decrypted by the intended recipients, and outsiders can not because they do not have access to the key, and getting the key is a computationally burdening task.

With DRM, you have both the encrypted content and the key. It works by hiding the key from you so that you cannot decrypt the content at will, and instead only under whatever circumstances the software requires for it to get the key from its hiding place to decrypt the content. At some point in time the DRM software will handle the decrypted content. If it is open source, you can find this place and insert your own code there, thereby circumventing the whole scheme.

A popular tag for DRM articles on Slashdot is "defectivebydesign". This is not a buzzword or slogan or empty groupthink, it's actually true.

Microsoft's lawyers are not stupid, and next time they may manage to avoid those mistakes. GPLv3 therefore says they don't get a next time. Releasing a program under GPL version 3 protects it from Microsoft's future attempts to make redistributors collect Microsoft royalties from the program's users.

Someone knows what these 'mistakes' are? Does it mean Novell's lawyers were stupid / pretending to be fools... in order to confuse the Free Software market?

On Services... (yeah, what -did- happen to that SAP bit?)One major danger that GPLv3.1 will block is Googlization. Googlization means services contain GPL-covered software that you can't change, because the product is never published and so no source code has to be provided. The manufacturers of these services take advantage of the freedom that free software provides, but they don't let you do likewise. GPLv3.1 new services clause ensures you are free to remove the handcuffs.

On network-enabled devices...One major danger that GPLv3.2 will block is Xboxization. Xboxization means devices contain GPL-covered software that connect to a network that you can't change, because the network shuts you out if it detects modified software... The manufacturers of these devices take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv3.2's new network clause ensures you are free to remove the handcuffs.

On ATI/nVidia Linux drivers..One major danger that GPLv3.3 will block is BLOBization. BLOBization means software packages containing GPL-covered software that communicate to a non-GPL-covered piece of binary software (BLOB) that you can't change, because the BLOB is not covered by the GPL... The developers of these BLOBs take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv3.3's new network clause ensures you are free to remove the handcuffs.

On not having to GPL programs compiled using GCC..One major danger that GPLv4 will block is GPL-less compiling. GPL-less compiling means programs created using GPL-covered software that you can't change, because the actual program contains no GPL-covered source code. The developers of these programs take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv4's derivative work clause ensures you are free to remove the handcuffs.

On using e.g. The Gimp to create your graphics..One major danger that GPLv4.1 will block is artization. artization means original works of art created using GPL-covered software that you can't change, because the work is strictly non-GPL. The artists of these works take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv4.1's new GPL-created works clause ensures you are free to remove the handcuffs.

On working around the GPL by re-implementing (much the same that free software developers re-implement things covered by patents)..One major danger that GPLv4.2 will block is reimplementation. reimplementation means software programs developed based on, but re-implemented in a different way of, GPL software that you can't change, because the work is not GPL. The developers of these programs take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv4.2's new GPL-reimplementation clause ensures you are free to remove the handcuffs.

On using GPL software internally only...One major danger that GPLv5 will block is in-houseation. in-houseation means software programs based on, developed with, and so forth and so on as set forth in the other clauses, that is only used in-house that you can't change because the source code need not have been made available. The developers of these programs take advantage of the freedom that free software provides, but they don't let you do likewise... GPLv5's new out-house clause ensures you are free to remove the handcuffs....

And so forth and so on. It should be pretty clear that the GPL is all about freedom - pure and utter total freedom to do as you wish without restriction, as long as the product of this doing is available to everybody else to do with as they wish without restriction as well. Whether this is truly freedom or not (i.e. as opposed to the BSD-style licenses) is a never-ending debate.

I'm getting tired of hearing this same argument ("The GPL is supposed to be about freedom, but look at all the restrictions it imposes!!!") in various different incarnations pop up every time the GPL is discussed. Everyone try to understand this simple fact, so that we can stop having this pointless discussion every time:

Freedom is a limited resource, because one man's freedom is another man's restriction.

Don't believe me? Let's take some examples: If I'm to be free to do anything* I want in my own home, that means you're not free to do anything you want in my home. Now that's a perfectly reasonable freedom for me, and restriction for you to have, which is why society generally supports this freedom/restriction.
*) Within reason. I.e. stuff I do in my own home that has major impact outside of isn't included.

Let's take another example. The first amendment of the US Constitution starts with the words "Congress shall make no law..." In other words, the freedom of the individual comes at the price of the freedom of government.

I've said it before, and I've said it again: RMS & FSF have been perfectly open about what they want to achieve with the GPL, and why. Stop treating them like hypocrites. There are plenty of hypocrites in the IT world, but RMS isn't (AFAIK) one - and he's definitely not one because of the restrictions of the GPL. If you don't support the view of the FSF, then that's fine, but don't back up your standpoint with flawed logic

Freedom is a limited resource, because one man's freedom is another man's restriction.

Very correct!

So one should see the freedom thing into the right perspective. Freedom in GPL is clearly targeted to the end-user of the software, and therefor restricting the developer/publisher of the software. On the other hand, freedom in BSD is targeted to the developer/publisher of the software in question and therefor can expose restrictions to the end-user.

So both might be equally free, but just for a different audience. Tivo's lil' trick takes away the freedom from the audience GPL is meant for, hence V.3

I'm not sure why your post is seen as relevant. None of it applies to the GPL:

Web Services isn't even a loophole - you don't distribute the software so it doesn't come under copyright distribution and so the GPL wouldn't apply here. Same for "in-houseation" and reimplementation. You really need to have a look at copyright law if you think that the GPL (a copyright distribution license not a EULA) can restrict this. Users don't agree to the GPL.

Let me rephrase quickly what I meant about "users don't agree to the GPL". This is the most often misinterpreted part of the GPL.

The GPL is a copyright license not an end user license agreement. As such, it only covers distribution of software. When you get a piece of GPL software, you do not need to agree to the GPL, and you're under no obligation to abide by its terms. You only need to agree to it when you distribute GPL software.

As such when you modify software in-house, or you put the software on a web server, you are under no obligation to obey the GPL since you're not actually distributing the software. Since the GPL purposely doesn't restrict you on running the software there's no obligation to distribute the code.

> One major danger that GPLv3.1 will block is Googlization. Googlization means services contain> GPL-covered software that you can't change, because the product is never published and so no> source code has to be provided.

This was actually up for GPLv3, but meet too much resistance through the review process.

> One major danger that GPLv3.2 will block is Xboxization. Xboxization means devices contain> GPL-covered software that connect to a network that you can't change, because the network shuts> you out if it detects modified software...

> On ATI/nVidia Linux drivers.. One major danger that GPLv3.3 will block is BLOBization.> BLOBization means software packages containing GPL-covered software that communicate to a> non-GPL-covered piece of binary software (BLOB) that you can't change, because the BLOB is not> covered by the GPL...

This is already forbidden in GPLv2, the only reason ATI/nVidia can do it is because Linux is considered covered by "GPLv2 plus an implicit exception for binary BLOBs". Well, that and the fact the legal power to enforce GPL to people not actually distributing any GPL'ed software (but only binary BLOBs intended to link with GPL'ed software) is somewhat dubious. A new version of the GPL will not change either of these.

> One major danger that GPLv4 will block is GPL-less compiling. GPL-less compiling means programs> created using GPL-covered software that you can't change, because the actual program contains no> GPL-covered source code.

This is kind of silly, as the tools where this could actually be enforced (like GCC and Bison where non-trivial GPL'ed code is usually included in the result) has specific exceptions to allow "GPL-less compiling". For Bison, this exception was added recently.

> One major danger that GPLv4.1 will block is artization. artization means original works of art> created using GPL-covered software that you can't change, because the work is strictly non-GPL.

How is this different from the previous point?

> One major danger that GPLv4.2 will block is reimplementation. reimplementation means software> programs developed based on, but re-implemented in a different way of, GPL software that you> can't change, because the work is not GPL.

Given that the core of GNU is re-implementations of proprietary work, this goes beyond silly. It is also unenforceable with copyright law, you'd need a "copyleft" for patents instead (which has been suggested (albeit not by the FSF): This patent can be used by anyone who shared their own patents in a similar way).

> One major danger that GPLv5 will block is in-houseation. in-houseation means software programs> based on, developed with, and so forth and so on as set forth in the other clauses, that is only> used in-house that you can't change because the source code need not have been made available.

This would violate freedom 0 [gnu.org], which would mean a clear breach of the contract signed to everyone who has ever donated software to the FSF. The FSF has already declared licenses with a "anti-in-houseation" clause for non-free with reference to freedom 0.

> And so forth and so on.

Actually, only your first suggestion had any basis in reality. The rest seemed made up with the sole purpose of spreading fear, uncertainty and doubt about the future of the GPL.

"Certain decentralized forms of peer-to-peer file sharing present a challenge to the unidirectional view of distribution that is implicit in GPLv2 and Draft 1 of GPLv3. It is neither straightforward nor reasonable to identify an upstream/downstream link in BitTorrent distribution; such distribution is multidirectional, cooperative and anonymous. In systems like BitTorrent, participants act both as transmitters and recipients of blocks of a particular file, but they see themselves as users and receivers, and not as distributors in any conventional sense. At any given moment of time, most peers will not have the complete file."

Frankly I have to be honest, I am no longer directly in the programming field, but about seven years ago I worked developing web-based applications. I was a big fan of open source at the time, as there were some solutions out there in FOSS land that would do what we needed with some tweaking. In my opinion, it would have sped up development time by at least a couple months. Which at that time, faster to market was always better.

We discussed it and the company president was worried something like the GP

Many people complain about GPL being less Free than the BSD license. They miss the point.GPL wants to ensure that all modification to the code remains free. BSD allows you to do anything to the code, including making it proprietary. Remember Windows' TCP/IP stack used to behave identically to BSD's, hinting to same underlying code.So if you realease code version n under the BSD license, sure, users of n can do whatever they god damn want. But it does not ensure anything for users n+1. GPL, on the other hand, ensures that users of n+1 enjoy exactly the same liberty. So, while BSD users have more immediate liberty, users of GPL have more long-term (in the sense of derived works) liberty.Ask HP-UX, AIX, Irix, and Solaris users if they enjoyed the same liberty the BSD gave to HP, IBM, Silicon Graphics, and Sun. Ask Linux users if they enjoy the same liberties as the kernel hackers have.So which license gives more liberty? Well, in the short-term, BSD. On the long term, GPL.

As a developer providing code, selecting the license depends on where you want it to go. Do you want it to spread as far and wide as possible, at the expense of the original code? Go BSD. Do you want the original code to enjoy improvements brought from other people, at the expense of how far it'll spread? GPL.As a developer using free code, sure, BSD is so much easier to use. You can use it at work on your proprietary product that feeds your kids! It's harder to make a business model around GPL code, though (yes, I know there are many examples out there, but they still remain the [loudly publicized] exception to the rule).

I really like the example of ODE (a game physics library). It is licensed under LGPL and BSD, but really, it seems most people use it as BSD. I know it's been used by Crytek (they contributed changes back), and I've heard it's been ported to the PS2, XBOX, and PS3. This is something that only the BSD license allowed, because the NDA of the devkits for those consoles implicitly prohibits the use of LGPL or GPL code in games, as the changes contributed back to the GPL/LGPL code will give hints of what's behind the NDA, and furthermore the developers cannot provide you with an object file that you can link with the GPL/LGPL code.

There are two sides of the coin, here: the contributors to the mainstream ODE library are happy to know their work is used in awesome places like those consoles. However, the mainstream code is none the wiser: those changes have never made it back to the main tree.

So what do you want? Your code to be improved upon by the community, or thrown into the wind, never to see those improvements come back, but knowing it went much farther than it ever could if you tied it down with the GPL?

It really is two different things, and saying that one is more restrictive than the other is missing the point.

I still do not understand if I am forced to GPL my software for USING a GPLed library.

Yes, you are forced to, but only if the library is GPL, not LGPL. In that way, the GPL is admittedly a political license. Its purpose is to propagate this idea of freedom, and libraries are great vectors for that.

It happens that you'll hit the dilemma of choosing between a good quality proprietary library (you'll have to pay to use it), a good quality GPL library (you'll have to make your code GPL too, to use it), and a lesser quality BSD library (you can just use it). Yeah, I said lesser quality for the BSD, otherwise there's no dilemma, is there?:)

When somebody releases a library under the GPL (not the LGPL), it is to be used exclusively in GPL software. It is a tit-for-tat approach: you can use my GPL library if you subscribe to the GPL idea. If you don't agree, find another library.

Yup, it's mingling technical and political aspects, but you know what they say: if you don't do politics, politics do you;)

For LGPL libraries, no, you can keep your software under whichever license you want, as long as changes to the library itself are propagated GPL-style.

Suppose that Darth wants to do something bad with some Free software. The GPL prevents Darth from doing this, when it works, by a two step process.

Darth realizes that he is doing something that requires a license under applicable copyright law. The GPL is the only license available.

The provisions of the GPL do not allow what Darth wants to do, so that Darth can not use GPL as a license if he does it.

Suppose that Darth goes ahead and does it anyway, what does the enforcement process look like? Darth gets sued under copyright law, like IBM did against SCO with IBM's counter claims.
The free software side has to prove two things:

Darth has done something that requires a license under applicable copyright law.

The GPL does not protect Darth because Darth has not abided by its terms.

In order the suit to be successfull against Darth, both steps have to succeed.
Step (2) can be optimized by the FSF, by adjusting the terms of the GPL, to make it as difficult as possible for Darth. The GPLv3 is an improvement in this process.
Step (1) is the step that the FSF can not control, because the applicable copyright law is written by the legislature (in the U.S. that would be congress), not by the FSF! Therefore, step (1) is the weak point!
If Microsoft is ever sued under the copyright law because of the coupons, Microsoft will attack the week point of the argument (1). This is what Microsoft's lawyers will say:

Microsoft has not and will not agree with any version of the GPL. Distributing these coupons does not require a license under applicable copyright law. Distributing coupons is not distributing software in the meaning of copyright law. Therefore the terms of the GPL (both versions) are irrelevant. The expiration date of the coupons is irrelevant. Game over.

The key assertion in the above is:

Distributing coupons is not distributing software in the meaning of copyright law.

If Microsoft can win on the key assertion. Then it will win. If the lawyers for the free software side can knock out the key assertion then they will win.

Why do the coupons exist in the first place? Why did not Microsoft just hand out SuSE installation DVDs? The reason is obvious. Microsoft did not want to become a GNU/Linux distributor. The coupons are a dodge to get around this. The whole raison d'etre for the coupons was that that Microsoft avoid becoming a GNU/Linux distributor! Can anyone believe that Microsoft allowed the coupon scheme to proceed, without first getting on Lexis and finding out whether the scheme would work? It is guaranteed that in some Microsoft lawyer's briefcase, there is a brief. And that brief deleniates in excruciating detail why the coupon scheme does not make Microsoft a GNU/Linux distributor. And the brief was checked and rechecked by multiple lawyers before the coupon scheme was ever allowed to proceed.

The free software argument against the MS-Novel coupon scheme, is a chain. And like any chain, it is only as strong as its weakest link. It is no good for free software advocates to sit back and congratulate themselves on how strong their strong point (2) is. Of course it is strong! The FSF deliberately designed the GPLv3 to make it strong! The point is, that Microsoft is not going to attack this strong point. Microsoft is going to attack the weak point (1).

Instead of congratulating them selves, free software advocates should be critically examining their own arguments looking for weak points. And when they find one, they should research the caselaw looking for ways to shore up their arguments! They should not be replying to the weak points with mere repeated assertion of what they hope should be true, instead they should do some real scholarship.

Let us not forget the anti-patent provisions of
GPLv2 [fsf.org]!
It includes an "im

If you don't like the GPL...don't use it. If you like the BSD license, use it.

If you don't like the fact that the GPL software you are using to develop your proprietary software has a GPL license then that is YOUR fault.

People who bitch about the GPL are the people that don't believe in the GPL and don't agree with the FSF's ideas. Duh. They get upset because they can't use GPL sofware like software under the BSD license.

It's not YOUR license. It's the FSF's license. They get to write it with whatever input they accept. It's not YOUR software you are using to develop whatever you are developing (if you didn't write it). The authors get to decide legally how you can use it. If it's the GPL and you don't like it? Too bad.

Freedom does not include the right to force somebody else to do your bidding. That's called enslavement.

It's kind of insane to think that this will stop anything. The PS3 runs Linux (a generic PPC Linux no less) with no problems at all. It sure as hell does not mean you can access the proprietary portions of the PS3 that Sony don't want you to see. Why? Because Linux is running over a virtualized set of hardware. I'm sure if push came to shove that Tivo would do exactly the same thing, ensuring whatever code or functionality they wished to hide stayed hidden.

If the community moves to GPL3 it means that for the MS/Novell deal to continue they must branch their code and maintain their own branch.

All future community development will take place on the GPL3 branch so Novell will not bee able to use the code or MS have to give the patent proptection to all. This removes all the benefits of the deal.

It will only be enforceable if Novell distributes GPLv3 software. And then either Novell will be found to be in breach of its contract with Microsoft, or Microsoft will have to abide by the GPLv3 for the GPLv3 code.
IANAL but that's my understanding of the issue.

Yeah, you're missing something. They don't have to do anything, as long as they don't want to update their distribution. As soon as they want to switch to the next glibc, gcc, linux kernel, gnome, or whatever else that is using the new GPL license, it will apply to them.

But yeah, if they wish, they can keep the GPLv2 versions of all software, and keep updating them in parallel.

MS distributes software (by the Novell voucher deal) that has licenses that read "GPL v2, or any later version". They knew when they did that that they were distributing software under a license that the FSF had freedom to change. So it goes.

It's a bit of a stretch, but here's how it is supposed to work.Microsoft distributes vouchers with no expiration date for Novell's SUSE linux. Much of the software in that distro is licenced for GPL v2 or later.

Then GPLv3 comes into effect, and someone cashes in a voucher for SUSE linux after that date. NOW the software that is being distributed by microsoft is under the GPLv3 - (the receiver gets to choose) - and the GPLv3 basically says that if you distribute it with patent indemnity for some, you have to

They do nothing to protect freedom. They are merely free for the taking.

If you *take* something from the public domain and modify it, it can belong to you, and you can then distribute it while denying the very public who freely provided that source material to you in the first place the right to further modify it. So sure, the public domain is about freedom: giving YOU freedom to freeload the work of others and ultimately screw me over.

The GPL infringes on our freedoms for very specific resons, and it does so with good intent. But it infringes upon them nevertheless.

The GPL is about perpetuating the freedom of the *code*, specifically the freedom to modify the code.

And in doing so, the *only* freedom of yours that it infringes upon is your freedom to infringe upon others freedom with respect to modifications of the code further down the line.

(It really denies very little. You can use GPL tools to make non-GPL products (including other programs.) You can use GPL tools to run your business without returning anything back. The only thing you are required to give back is any modifications to the GPLed code itself, and even then, ONLY if you are re-distributing it.

Derivative works of GPLed CODE remains GPLed. That's it. That's the GPL in a nutshell. Everything in the GPL is there simply to ensure that no-one can take GPL'd code and fork it into proprietary non-free code. (or [with gplv3] tivoise it by binding 'gpl code' into hardware/drm schemes that make it effectively non-free.) To ensure that any tool that starts out FREE cannot become NON-FREE.

(TiVoisation is the equivalent of putting a 'free man' into a cell with no doors or windows. There's nothing legally stopping him from leaving the cell -- but his 'freedom' isn't worth a hill of beans -- he still can't get out.)

When you GPL your code you are asserting that it will be forever "free", that nobody can lock it up.

GPL is a lot like Free Speech.

Which is more 'free' a society where you can say whatever you like, and then someone in government can exercise their freedom to lock you up for ever. [=public domain] Or a society where you can say whatever you like, and the government is forced to protect your right to do so, even though you are infringing on someones freedom to lock you up forever. [=gpl]

Freedom means being able to do what you want with a particular piece of code. Stallman wants us to believe that restricting our rights somehow enhances our freedom.

You are restricted from locking up code, you are restricted from giving others less freedom than you received. This way the original freedoms are always preserved. This is the fundamental difference between BSD-style and GPL-style. BSD is totally free, but GPL has one single restriction that aims for a better end result with more freedom for ever

What I find so exasperating about every GPL vs. BSD debate is that each one seems to break down into a ridiculous argument about the meaning of the word "freedom".

Well, you can blame Stallman for that. He's the one who insists that the issue of source code distribution is somehow a matter of freedom. Hardly anybody who hasn't already accepted Stallman's ideology would think of it that way. I mean, if you go to a restaurant for dinner, do you complain of your freedom being violated if you're not given the r

A list of ingredients is not the same as a recipe, any more than a list of machine code is the same as source code. A recipe tells you how to create something, whereas a list of ingredients just tells you what it is.

What is the freedom supposedly being violated if you choose to eat at a restaurant where the staff refuse to give out a recipe along with the food? If you demand recipes, what's stopping you eating somewhere else, or even preparing your own food? Nobody's forcing you to do anything or preventi

DRM is just a symptom of political corruption allowing monopolies to be set up by abusing a broken IP system with a few well placed donations. It's a US only problem and shouldn't be dealt with by preaching to the converted via a global thing like the GPL but by contracting your elected repepresentatives. Those of us overseas feel sympathy but we cannot help you with it and really don't see how a licence change sideshow that even hurts people on your side is going to help against DRM.

The GPL is a legal document which recognises the FSF as its issuing authority (Clause 9), so if anyone else issued a licence called GPL which purported to succeed the current GPL, they would have a legal battle on their hands.

There isn't. That's intentional. The spirit of the GPL says "When you base your stuff on GPL'd code, the people you give the results to are free to do the same things you did.". Tivo wants to be able to modify and redistribute someone else's code, but not allow anyone to modify and redistribute their code. Trying to finesse the point by saying "Well, you can modify the code and redistribute it, but the people you give it to can't use it in any meaningful way..." isn't going to fly.