The Cathedral In The Bazaar?
replicant_deckard writes "This opinion piece I wrote to Open explains how dual licensing (simultaneous use of both GPL and proprietary license) works. Dual licensing gives you basically both the support of the community and a profitable Microsoft-like business model. Seems that this model used by MySQL and TrollTech is getting more popular. Now my question is where are the limits?"
... are where one license conflicts with the other. Why put artificial limits on it?
Why is everything that gets posted on Slashdot these days either:
A) A write-up done by someone boasting about their latest article, experiment, or "product",
or
B) A write-up done by one of the editors that sounds sneakily like an inside-job advertisement done to line the wallets of VA, OSDN, Slashdot, or whoever the hell owns this site these days
Just an honest question -- don't mean to offend anyone.
Reply or e-mail; don't vaguely moderate. Ex-O'Reilly/MIT employee, now a full-time Google employee.
They seem to be finding a way to use/contribute to open source software while maintaining a rather large amount of closed stuff.
IMO, this is OK because with Aqua (the user front end for OS X) Apple is really selling the user experience, not just a powerful tool. It's still software but the goal is different. I think of Warcraft 3: they are really selling the experience; the artwork should be proprietary, while the engine that runs it should be open. That's just what I've been thinking recently.
How about a license that allows individuals (or organizations) that have contributed to the product in one way or another in the past are given a use license.
I understand that there are original copyright holders who are different from the GPL itself, and those copyright holders retain many rights. But I though once the code was out under GPL that was pretty much it.
Is it just where you get the code? Same source, but a different text file to read and click "ok" on? So someone agrees to a different license in exchange for something else (better support, in Mandrakes case). Whereas if you got the source under GPL the copyright owner can't retro-actively change your righs to something else? But you can voluntarely agree to a different license?
That's the only way I can figure this would work. IA like way NAL, so I can't figure this out. Does anyone know for sure?
Assume that I had a lot of these installations, and the businesses grow and become 7x24 businesses via the Internet, etc. At that point it makes sense for the businesses themselves to buy support so that if I am not available for any reason and they start throwing database errors, etc., they can get the type of support they need.
Now then, multiply the fact that I am one small consultancy business owner by a large number of similar consultants across the company and around the world (if there are any that use mySQL in a similar manner). Taking it to the extreme, assume that we so good that suddenly mySQL becomes the predominant DBMS platform for all businesses with less thatn 100 employees...(I don't think that that this is realistically going to happen by the way)
So how big are the limits to servicing Open Source software? As big as the business and professional market grows it to be.
...Open Source isn't the only answer -- but it's almost always a better value than the alternatives...
I was actually just thinking about this recently. A lot of people are clammoring for decent linux games, and why not? If we get a few good 'nix games, then we could see a lot of people at least trying the OS, if not moving over. On a DVD, you could have a crapload of drivers etc, make the disk bootable, and run without even loading off the hard-disk (except for savegames, etc). A DVD should be big enough to fit a scaled down linux OS, the game, and a bunch of graphics/etc drivers (with an autodetect, or again, something to save the config to the drive).
Here's where I get stuck though: how do I make a 'nix game without making it entirely open source, if I want to make a profit but not have to write a million GPL modules or pay large licensing fees? I was thinking that one could: Write the entire engine source available. Make the game art, meshes, maybe even the config files copyrighted. I'm not sure if this would conflict.
If it worked, you've got a fully workable game that people aren't allowed to copy (due to copyright on the artwork, etc). Since the game itself is open source, and only the characters etc are copyrighted, is there a GPL conflict? One could write a new game on the engine, or run the game with custom graphics (isn't the the current context of people using old doom/quake/etc engines).
The only problem I would think of is: you probably have to make the engine easily acquried, and have the art addons entirely seperate on a sale disk - or can everything that can be o/s available on the same disk, and have it as a product with documentation outlining what belongs to whom, and what is actually being paid for.
Code wants to be free... but talent and hard work work hopefully earn some money still, or 'nix-first games will still be a whiff of smoke in the future.
What about allowing open access to the internals of your code and all of its objects along with documenting how it works without releasing the source?
Say the way the Cocoa Application kit works. All of the code is closed source, but any developer can use the objects in the application kit or write their own objects to replace ones that Apple wrote.
In principle any Cocoa application's objects can be accessed by any other app.... in essance every Cocoa app is a mini Application kit without the documentation.
This might be a way to open up your program for other developers to enhance and use in their own apps without giving away any of your source. This would work especially well with the free as in beer programs. (hey kids, download my super enhanced iPhoto that enhances the free iPhoto that you already have)
Apple could open up the objects in the iApps for third party developers and get many of the benefits they would get from open sourcing the apps without having to worry about someone porting the apps to a competing platform. Such a strategy could work well for other harware vendors like Sun or IBM.
yeah there are problems with this, but this might be a new middle-ground between open and closed source.
of course, a big problem is what if apple takes away the free app that the code you wrote depends on... maybe if that happens the developers that use the code that got yanked could get together and write an open source repcement (like Gnustep)
There are 10 types of people in this world, those who can count in binary and those who can't.
My company has two software products (libraries for developers). One is under an open-source license and the other is under a proprietary license. They are designed to work together, with the properietary one providing more business oriented features to complement the open-source one. Licensing of the proprietary product also funds internal development of the open-source tool.
It would be advantagous to GPL the second product, in addition to licensing it commercially. This would allow people who want use it for open-source or otherwise noncommercial projects to use it free of charge. This is a good thing, as it provides a greater user base for the product and provides marketing and testing.
My only concern with doing this is the issue of piracy. Some people/companies simply wouldn't pay $1000 for a single-server license of a product when they can simply download it and use it for free (albeit illegally). I don't have any interest in fighting piracy in cases where the product would not otherwise have been purchased in the first place, but I am somewhat concerned that smaller companies using the software on smaller projects would simply elect to believe that they are in the right using the GPL version in a commercial capacity. Obviously it would be made very clear that use of a GPL library in a commercial offering is prohibited by the GPL.
Being a corporation, a core motive is to generate a good profit, so the primary factor in this decision is which licensing policy will provide the greatest profit. I couldn't care less if the GPL/proprietary model generates twice the piracy of the proprietary-only model in the event that it also generates twice the profit.
The question on my mind is: "How many sales would I lose to people using the non-commercial version for commercial purposes?"
What has *science* done?!? -- Dr. Weird (ATHF)
I've published a few obscure pieces of code under the GPL. Though I never actively tryied to sell commercial licenses, I was approached by one company and was paid several thousand dollars for a commercial license. Not bad for somthing obscure that I never expected to make money on. Imagine what a person could make writing more mainstream GPL'd code. For such things, public release under the GPL is like free advertising.
I recommend that software authors who are interested in trying this with the GPL'd code place prominent notices in their README files and web pages, because some potential customers may not be aware that they can negotiate a non-GPL license from the copyright owner.
Not only is this copyright infringement against me, it's also a violation of the GPL under which my patch is licenced.
Explain this to me again.
I thought that if a project was dual licenced in such a way, that in order for the proprietary licence to continue to be applicable, the company has to keep the codebase they sell completely pure, and free of GPL submitted patches.
Liberty.
I recall several debates where B.Joy was arguing that the more stable economic model for Open Source was for re-imbursement for service, customization and maintainance of middleware/Operating Environment. But, the lower, commodity layers of an O.E. are too generic and functionally repetitive to extract long-term revenues from - this article seems to say the same thing...
this is wrong. the dual licensed program allows you to develop, extend, and redistribute the software without GPL entanglements. for instance: i am a teacher. i am thinking of writing a grade program using mysql and having a web component. let's say i wanted to keep the program closed, i can't do it with the GPL'd mysql. i can't redistribute mysql with the closed program. but, if i GPL the grade program, then i can redistribute mysql no problem. so, for the "privilege" of keeping my program closed and using mysql, i have to pay for it. so there is market value.
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
So I'm going to be selling it, while inviting people to add features. Hmm. I don't think I can expect anyone in the "open source community" to add code to this projct and then let me sell their stuff. Heck, I'd probably have reservations about donating significant amounts of code to someone else's business. How many people would spend hours working on a piece of code, knowing that someone else is going to sell that code and pocket the money... while the volunteer developer gets, at most, some personal satisfaction? Is that "volunteering" or just "exploitation?"
If someone adds an interesting feature to the applicatin, I can see myself paying for the right to add it to the commercial version, but I can also see it being a real pain in the butt to haggle over the price of every contributed feature. Said butt-pain may not be worth the revenue.
Volunteerism is what makes open source strong. If two people get interested in contributing to the GPLed version, that's twice as many people as are contributing to the commercial code base (i.e. me). Eventually, the GPLed version will almost certainly exceed the functionality of the commercial version. So, my revenue would hit zero, and the commercial thing would be a waste of my time and money. But can I have my cake and eat it too? :-)
Two ideas come to mind...
One, open the source with a license other than the GPL. Let people modify it for their own use, but not distribute binaries with their changes. That way the coder community can play with it all they want, while presenting little competition to the commercial version (whose target market doesn't know a compiler from a linker).
Two, hope that what I've created so far is interesting enough that people will play with it and extend it for their own purposes, just because it's fun to play with it and extend it. In exchange for providing this platform to build on, I ask that any additions they choose to distribute be licensed to me for addition to the platform. In other words, hope that what I've created is so much fun to play with that people will pay me to extend it for their purposes, and payment will be in the form of the code to their extensions.
Seems like a long shot, but it's an interesting idea.
(Practically speaking, this whole commercial concept sounds like more trouble than it's worth. I have a day job, I like it, it pays better than this ever will... The best use of my time and energy might just be to open the source, offer guidance to anyone who wants to extend the code, and enjoy the ride. But theoretically speaking, making a little money on the side would be neat, and dual licensing presents some interesting issues.)
Build stuff. Stuff that walks, stuff that rolls, whatever.