On Selling Exceptions to the GNU GPL
fsf.org
fsf.org
I don't use MySQL because it's open source. I couldn't care less if it's open source or not. I use it because it's free, in active development, and pretty much works well in the main.
I expect the fact it's open source means that the odd bug gets fixed that wouldn't otherwise get fixed, simply because there are more eyes looking at code (Although I do wonder how many people actively go through open source projects looking at code).
Open source is sort of nice n'all, but I don't think it's the reason things are successful or not. If MySQL changed to closed source I don't think it'd change much apart from for open source zealots like the author.
sure. But I think 99.9% of people just don't care if they're "free" by his definition of free.
If I buy a laptop, I consider myself free, even though I don't have the schematics, the moulds used to make the plastic, the development details etc.
But what if the laptop co goes out of business, and my laptop case gets a chip! How will I make a replacement case if I don't have access to the moulding details etc! Well, I don't really care that much.
It's just an odd thing to strive for IMHO.
I think one of the problems with open source is that it assumes anyone can just 'take over' some source code and fix bugs etc. The reality however is that it's not that simple.
Just like giving me plastic moulds is nice in theory, but pretty useless in practice.
When I use copyleft software, this rarely happens. I can only assume it's because some other user has experienced the same annoyance and fixed it already. But when I do run into something that's broken, I am able to look at the source, make a patch, and submitted it back upstream. This is usually with software that has a smaller user base.
I value this freedom and am glad that RMS and others have worked so hard to spread it.
The only important thing here is having people behind a project that care, respond to any queries, and are actively developing/fixing/maintaining.
Good software isn't good because it's open or closed source. It's good because people are sitting behind it and care about it.
That's personally all I care about - that the people 'behind' the software care, and will fix any issues that need fixing.
EDIT: Clarification (apparently, the above is cryptic enough to warrant a downmod): in any software project, the founders of the project can quit, go broke, die, or just be much less active. And no one can guarantee that it won't happen.
If the software is GPL, you have the guarantee that when that happens, some more developers can jump in and take the lead. If no one do so that means only one thing: no one cares enough (including users, which could hire someone). Good riddance. Example: CVS is dying because everyone is willing to switch to SVN.
If the software is proprietary, that possibility may be denied by the original founders. Which means a proprietary software can die while people still care. Example: old versions of Windows or Word, or games on old platforms.
Which leads to the obvious question: for any proprietary software, can you guarantee that it won't die before no one cares? I think not.
Usually some aspect of monetization.
For instance, plentyoffish.com is free, closed source, but has someone behind it who cares, because it's his livelihood.
Your examples make no sense: Windows still exists and most games are played one or twice. Sure, old versions are not available, anymore, but who want to run them, anyway? The same holds true for old versions of free software: They may be still available somewhere but who wants to run them, anyway?
While you're talking about dieing software, what about creating software? Can you "guarantee" that a particular free software will be created if a large number of people want it? I think not.
Proprietary software, on the other hand, comes close to a guarantee if there's a chance of it being in demand.
This is why sociaty needs both -- and why Mister Stallman is wrong to say, only "free" software should exist.
My examples makes no sense to you, but they make sense to me: I was thinking about a particular Windows95 game which I would have loved to see ported on the Pandora [1] : Earth siege 2. This is not possible because there is no source code to port, and emulation is out of question (the Pandora isn't powerful enough). The only reasonable solution I have is to clone it, almost from scratch.
About creating software, I agree that some (many?) software couldn't have existed as free software (only). However, this is not a proof that society needs them[2]. Even then, this does not prove Stallman wrong: he cares about freedom. Availability and quality are secondary to him.
[1]: www.openpandora.org
[2]: By the way, if society does need them, then I think the government should write it or finance it.
The problem with software is that once it is integrated into your software ecosystem you often wind up locked in. If that software stops being able to work for you (for instance your license stops working and you can't purchase another one), then you frequently have a very difficult transition ahead since there is no drop in replacement available.
RMS sees this, knows that users often don't realize their potential future pain until they are committed to it, and concludes that non-free software is evil. By contrast an economist sees this, assumes that the market will be rational, and writes a book like Information Rules explaining how one should best act given the economic facts.
My view is that most people who really care about software have been around the block enough times to have experienced the economic fact and in practice act more like economic theory says you should act. Of course this provides an economic argument for free software, which has of course lead to the open source set of arguments.
YMMV. And on this topic it tends to vary widely.
So it kind of hearkens back to the day when computer users were also competent programmers.
I think the modern day analogy to proprietary software would be someone sending you a locked excel sheet with a license that says 'you may not change, copy or distribute this excel sheet,' and then having glaring error in the spreadsheet.
You see the error and want to fix it but are obligated not to because of some silly rules. Instead you have to email the idiot who wrote the broken excel sheet, and have him fix it. (And wait for him to reply, which he may or may not do).
This resonates with me because I hate wasting my time on extra steps. I should be able to email the guy 'Hey, i fixed a bug, look at this' and be done with it.
Granted, the majority of computer users now are not of this personality type, and even if they are, wouldn't have the expertise or experience.
For FSF to really win, we would at least need a much higher level of computer education in the general population. (IMO 90% of people are functionally illiterate, with regard to computing).
- They can't suddenly change their mind and make the next version for-pay.
- They can't impose pushy conditions, Bitkeeper style.
- They can't cease development, while sitting on the copyright.
- And if they go bankrupt the code won't be left in legal limbo.
Don't get me wrong, I like open source and use it a ton, but it's not the only way.
As I say, IMHO the main thing is that someone is behind the software that cares.
It helps if the vendor cares, but they might not have a choice. There are plenty of ways to lose control of a copyright, from being bought out to bankruptcy.
Nothing ever prevented MySQL AB (or Sun) from shutting down their public repos and releasing the next version of MySQL as proprietary software. Of course, this would almost certainly lead to an immediate fork, but it has always been possible.
Yes they can.
> They can't impose pushy conditions, Bitkeeper style.
They can if they relicense (though previous licensed versions would be unaffected).
> And if they go bankrupt the code won't be left in legal limbo.
could well be. It is still a legal asset so those assigned to selling off assets may well sell off the IP.
The copyright holder ALWAYS has absolute authority :) they can do what they want with their code!
... and how many closed-source projects meet the same criteria?
A few loss leaders here and there, I suppose: Flash, a few web browsers. Though John Gruber, among others, might dispute the statement that Flash "works well": http://daringfireball.net/2010/01/tablet_musings
Although I do wonder how many people actively go through open source projects looking at code
Not that many people, really. Just the talented open-source developers, the ones who do important foundational work. Or the ones who want to become talented, and perhaps someday accomplish some significant foundational work. Or the ones who want to accomplish something that doesn't come right out of a can, which includes the majority of the Drupal and Rails programmers that I've met. Still, a small fraction of humanity.
But that misses the point. In an ideal world, nobody would ever need to read the code for open source projects: The code would work 100% of the time, and would do just what you want, and would have comprehensive and readable documentation. Even now, the open-source code I use works an astonishing percentage of the time. The point is that you don't want the one occasion when it stops working to grind your project to a halt for two years while you lobby the manufacturer for a new release, or beg for explanations of obscure algorithms, or pay thousands of dollars for a proprietary training course, or prostrate yourself before the author on the internet and beg for some attention to your particular problems:
http://news.ycombinator.com/item?id=1034584
It's true that, paradoxically, people who work with open source tools don't spend a lot of time using or thinking about their ability to read the source code. They don't have to. On the rare occasions when they have to use the source, they just do it and move on, with relatively little loss of time and no worries.
Most websites are closed source, free, and in active development. I think the model works well.
If things are broken, they're usually fixed quickly as long as someone behind the website cares about it.
Websites can be very cheap, provided your entire vision of web publishing is stuck in 1995: a bunch of $5/month web hosts full of cookie-cutter blogs that will fall over every time they get linked by anyone. But good web hosting costs money. Good web software with any custom feature whatsoever costs much, much more money. Designers cost money, and cost the time required to find them.
Google are masters of the art of making ad-supported websites feel "free", but Google operates at massive scale, milking a giant cash cow whenever they need to support a loss leader for a while. Most other free sites come with very strict limitations: If their traffic drops below a certain point, they cease to be financially viable, whereupon they only last as long as a publisher is willing to pour time and money into them with no hope of return. That leads to phenomena like SEO-oriented blogs whose authors write with one eye firmly fixed on their ad traffic. Those are fine, in their role, but there are times when one wants something different.
--
[1] That's "free as in beer". There are many websites built entirely on free software, of course, but those fail your first criterion.
For end-user software, I wonder if you could do the opposite, charge extra for a GPL version of the software? I know there would be times where I'd pay more for that.
The vendor would of course run the risk that I'd then start shrink-wrapping and selling it, so maybe you'd have to modify the license slightly to include distribution only as patches, not full source code. That way people could share code but would still need to buy initial access from the vendor.
Edit: The responses miss my point: I know it won't be copyleft / totally free software with such restrictions. But if such restrictions would convince someone to change distribution terms from shrink-wrap to partially open-source, I think many of the strongest reasons for advocating free software would be accommodated. That is, you could modify the printer driver (or whatever RMS's initial reason was).
Or if Photoshop doesn't have the functionality you want, you can pay extra to get the source and patch it. And you could even share such improvements with other users, provided they have the full source.
http://www.gnu.org/philosophy/selling.html
What you can't do, is to refuse to provide sources and to prevent your customer to stick that source on GitHub for everyone to do whatever they like with (including selling).
If you structured your licensing in such a way as to require this, it probably violates the GPL.
Come on rms, it wouldn't kill you to admit that sometimes non-GPL licenses are ok.
To say it's not, sometimes, would contradict this assumption and make it invalid. So, it would indeed kill him.
[1] Strickly speaking, he's OK with non-GPL software as long as it's "free" according to his definition of "free".
Nothing to see. Move along.
Each time time this horse gets dragged out of its casket.
Same stuff. Same blather.
License your package the way you want, and move on.
If someone buys an exception to embed a program in a larger proprietary program, he's doing something wrong (namely, making proprietary software). Does it follow that the developer that sold the exception is doing something wrong too?
Then shrugged and kinda gave up. :) Initially some great points were made but after that paragraph it seemed to turn more into a postulation that GNU GPL was more ethical (his words) than other licenses.
Open source makes reverse engineering easier. Users don't care about reverse engineering your software. They care about great software.
My point of view is that great software comes from great engineers, not from a license.
I disagree. This is what I think of as the "Apple stance". Don't worry -- we write great apps and you will like them.
However, no software is bug-free or suits everyone. People here are probably not typical end-users, and I can certainly think of the times when I've been forced to use software that didn't quite do what I wanted or that had some bug the vendor could not be bothered to fix. And because it was proprietary, I could not fix it regardless of my motivation to do so.
If you say you're going to cater to everyone's needs and write perfect software, then maybe you're right. But if you're more realistic and aim at making the majority of your users happy and do a cost-benefit analysis of whether it's worth your time to make the minority happy, you will not be producing great software in their eyes. And I'd bet you they'd be happier if they could just patch it themselves.
In the GPL case, if it's important enough to you and you alone, as defined by being worth you trading some resource you have (time and talent, or money) in exchange for the work, you can get the software modified. In a closed source case, it must be important enough to you to make the case and convince someone else as well.
If you want some specific core feature in MS Office, you need to petition MS and hope they'll add it someday. If you want the same core feature in OpenOffice.org, there are experts in the OOo codebase that could do it all around the world, you could pay someone at Sun, someone at IBM, or someone that is freelance, it's your choice, and you have a free market to find who will make the change at the lowest price.
Adding a feature in MS Office is extremely easy without the source code thanks to the powerful macros and plugins. There are companies making a living of this.
It's much much easier to extend MS office than OOO.
Tautological, but fair enough. Could the choice of license affect which engineers work on your product?
Well, yes and no. If, for instance, you have proprietary software, and your users depend on it and have no source code, and you go out of business, they are up a creek. Or, if you have released some open source software that people like and find useful, and you can't find a way to fund more than sporadic development, that may be a problem too: in an ideal world you'd spend more time working on it.
Dump 10MB of source code on the users and see if they bother to fix it or just move on to something else.
If your customers are also programmers who don't mind going through other peoples code, then possibly.
As for the second scenario, it happens quite often too, just that it's less visible: the software is still there, people use it, just that it doesn't get all the work it could because the main developer(s) have to make ends meet in other ways.
Nothing 'theoretical' about it, it's something many open source developers face, and is, in part, why there's such a big hullabaloo around Mysql: Monty doesn't think it's possible to pay for (enough?) developers if they don't sell GPL exceptions. Of course he's angling to get back control of the project too, for free, using the European Union as his hit man, but that's another topic. In any case, paying for open source development is absolutely not a solved problem.