by Matthew Newhall
I recently wrote a response on Slashdot to Richard M. Stallman's June 13th on-line interview. I started thinking about a better way to encourage developers to take on monster projects. Like any programmer I know recycling code is quicker and easier. So here is the response.
Actually I find it quite humorous that Bill G and RMS are telling
their points of view on the same Slashdot page. They have one very similar
vital quality, they are about as flexible as an I-beam. They really don't
sound all that different. I wonder what they would do to each other in
an open discussion?
The insane completeness to their points of view have driven
their dreams into reality. Now it is up to us, the middle people, to find
a middle ground.
Here is the balance....
and
Users get freedom of choice, low or no price tags for OS components, no company controls the OS, perpetuating and enhancing innovation.
If we can find a system in which these conditions are met, Linux will have 50% of the market in no time. I say 50% of computer users because the other half will avoid the extra choices available in Linux for sometime. That will change as they grow to better understand computers. That is fine, Microsoft can have those users. They will have an option to go to when they need it.
The two most frequent arguments I hear from each side are...
As a programmer and as a user I never want see a Blue Screen of Death again. I never want to buy a Microsoft operating system again.
I want Linux to succeed. Microsoft is way too powerful. Without Linux to stop it, well who knows what could happen.
Let companies make money on their good ideas and turn their profits around towards more ideas. But don't let them take control. Keep the Freedom in Linux. Lets make Linux huge.
I had four responses to my letter. Putting them all in would make this proposal too long. Yury Onischuck had said:
2. What flexibility You are talking about when the question is whether to have freedom or not to have
3. Read http://www.gnu.org/philosophy/stallman-kth.html before your reply, please."
Well first I read the above mentioned article.
It is an incredible argument for free software. It shows how open
source code can make a far superior piece of software while avoiding redundant
work. In fact the GPL is the most important part of my idea.
Yury Onischuck's initial two points rung very true. What are the
choices for a programmer in OS development right now?
0. Work for Microsoft.
1. Work on Linux GPL or LGPL code for free.
Greg Block responded to Yury Onischuck buy pointing out that there are infinite points between 1 and 0. But in this is not the case when it comes to free OS components. I have a proposal for a .5 between the 1 and 0. Unfortunately I am not a lawyer so I can't imagine any sane company will use this as I wrote it. (That's a cry for help.) I present, in it's raw form the....
Let's say there is a company Widgetcorp. Widgetcorp is developing an awesome voice recognition package. Widgetcorp wants to release for Linux when its time, but the programmers are getting hungry and cranky. The bills are starting to come in. It's basically a start-up and has a very little money. The voice recognition package is very resource hungry, and needs to interact directly with the kernel and other OS components. The need to be part of the OS occurred in many places and was unavoidable. Widgetcorp is about to give up and go to Microsoft when, blamo, one of the programmers that works at WidgetCorp notices the Free Advocacy Commercial License. The FACL allows them to make a profit, use the open source model, and produce quality OS offerings and inventions to help the free software effort.
This is the general idea in legal terms...
Please note that any instance of x.0 represents the major software release
in question for that contract.
example:Widgetcorp Voice Recognition 2.0
2. The software is free at all stages for non-commercial use. Anyone is free to distribute the program at all stages of development but not sell. The company is free to use the open source model at any time. Anyone is free to modify the program but not sell, if source is released. Components may be introduced under other licenses but must be; 100% modular, the FACL code must be able to compile and run independent of code under other licenses except the LGPL, able to be completely separated from the FACL code, announced before introduced, and must adhere to a clearly defined set of standards. There must be three limits published at the beginning of the project. There is a development time limit decided upon by the company. Initial limits for the duration of the profit period are set by the number of copies sold after the release of x.0 and the number of months after the release of x.0.
b. As a guideline, large time limits are acceptable here. There is a certain trust (not unchecked) that goes with this.
c. Widgetcorp decides to hire a company to build a graphical front-end to the vocabulary learning engine. They can include it in their package so long as they don't make the front end necessary to run or compile the engine.
3. The company and commercial customers are free to arrange contracts based on post x.0 releases. They can also arrange contracts for pre x.0 releases. Pre x.0 releases can be sold but can not be supported or covered under any warranty. Again, the program is freely distributable, so long as you don't sell it or use it's code for your own profit.
b. Caldera also recognizes the merit to this package and cuts a deal. Seventy thousand dollars up front and eleven cents per distribution.
c. Widgetcorp gets requests outside of distributions. They make a shrink-wrapped version. They sell it mail order for twenty dollars per licensed copy.
d. Widgetcorp's development version 0.7 of their Voice Recognition is already superior to anything else out there, so they sell licensed copies to a few eager customers.
e. Widgetcorp becomes corrupt and drags it's feet on a 1.0 release. Sales lag because support can't be sold by the company. The GPL date creeps up on them.
4. Three limits on are set at the beginning of the project. The FACL would be limited by, number of copies sold since x.0, a duration of time after the release of x.0, and the duration of time after the initial proposal before the x.0 release had to be made available for sale. When any of these limits are met the sunset clause is activated. The sunset clause converts all code and detailed revision history, from the beginning of the project, to GPL and LGPL for libraries in no more than 7 days. Widgetcorp. takes a snapshot with of the code with revisions right before it switches to the GPL. It will fork from the GPL code and can be used in future projects under the FACL. The FACL copy of the code belongs to Widgetcorp.
b. Widgetcorp can use the code from 1.x to work on voice recognition 2.x and voice synthesis 1.x. They know if they get power hungry and try to control the market through anything but a superior product, the free software advocates will pick up where they left at the last GPLed copy.
c. Widgetcorp's minor revisions continue past x.0 during the profit period because of the promise of profit on the next major revision. Any contracts with the distributions should reinforce this.
d. Since all versions of the code are released up to the final GPL date, contributors, customers, etc are protected from significant deviation in the code from the stated goals.
e. Widgetcorp gave themselves to little time to make a quality 1.0. They run out of time and have to GPL the code. They decide to work out a new contract and time frame to get the Voice Recognition to 1.0.
5. A company is said to be bought or exchanged, if more than 49 percent of ownership of that company belongs to a owner or owners to who did not hold that percentage or higher from the beginning of the project in question. If a company is bought or exchanged and has accepted any donations of code under the FACL, the project said code is contributed to, must be released under the GPL and LGPL for libraries one week or longer in advance before the change of ownership. In the event the change in ownership was not planned and is against the current owner(s) choice, a snapshot must be taken of the code and released under the GPL and LGPL for libraries within one week. All previous versions distributed are also made freely available and converted to the GPL and the LGPL for libraries within one week of exchange of ownership. The purchasing parties are liable to the contributors for any deviation in the code released under the GPL from the state of the project before control of the acquired company changed hands.
b. Megacorp promises a few disloyal programmers at Widgetcorp a large raise to radically modify the code before it's GPLed. Everybody who contributed, presses a class action against Megacorp forcing Megacorp to GPL the unadultered code and provide compensation for violation of the FACL.
c. All versions that were previously released under the FACL become GPLed in no longer than one week. If Megacorp attempts to alter the code right before 1.0 goes GPL, Free software advocates can finish the program from .96 copies if they used the open source model.
d. If the companies owner(s) honestly want to retire from the biz, they should plan to have everything in a GPLed stage for the time when they want to retire.
1. The sunset clause. The sunset clause will be drawn up at the time of creation. Some basic conditions should be met in the initial contract. There needs to a limit to developing time before x.0. There needs to be a basic outline of features, methods, and what standards will be adhered to or created. There needs to be a reasonably short amount of time past x.0 when the profit period is over, say no more than a year for huge projects. There needs to be a reasonable limit on the amount copies sold before it forks to GPL.
2. Big companies. The bigger the company the better the bargaining position. Companies that did not grow out of the free software community will try to change the rules. This will be partly done because of the realization that even though I'm pretty sure you could make millions doing this, you won't be able to make billions. Some companies have billion dollar infrastructures to support. It is logical to them to expand, not shrink.
3. The distributions have to play ball. If you are considering trying this, the first thing you might want to do is see if you have any takers from the distributors. Will people be interested in you project? Will it be big enough to justify paying anything for it, or can a bunch of weekend warriors duplicate it in a few weeks? If no distributions want it you may find yourself not being able to sell enough shrink-wrapped copies to make cost. Then again who says you can't make your own distribution. ;)
I thought about the whole GNOME vs. KDE situation. The main concern of most people are the commercial components in KDE. I am afraid the people at TROLL TECH who are responsible for QT might use those components to pull the rug out once they have control. This is not a personal blow to the people in charge. I'm scared of a change in ownership, not the current ownership. It would mean using time and energy to replace my KDE compliant programs. If KDE had used components with a similar licence to the FACL I would not hesitate to use their interface.
When this page was published on Slashdot on June 19, Roberto Alsina told me of an effort to protect the people from the dangers presented by QT. There is, as of the 20th of June, a page expaining the effort up at http://www.kde.org/kdeqtfoundation.html. It isn't offical yet... but I am routing for the KDE Free Foundation.
GNOME is a combination of charity and self-interest on Red Hat's part. We can't always count on distributions to come up with WYSIWYG or non technician oriented answers for the world. Distributions may come to a point where they are too competitive to be able to spare the resources on side projects.
In case you are interested in seeing somthing like this work, John Eikenberry made aware of a project by Aladdin Ghostscript that uses a simalar licence. They have some interesting twists, check it out.
The FACL would be great for Linux. It would give free software advocates the opportunity to do what they love, full time. The chance to innovate OS components for OS's like Linux and get paid for it. Not only will the technician benefit but so will the user. If there were 10 such programs on the next distribution you pick up it would only cost one dollar and fifty cents more according to Widgetcorp's figures. I'll pay that price for a larger GPL and LGPL code base! I think this could be the vehicle with which to outpace duplication and enhancment and be the leader in substance, interface, and useability. In a few generations of distributions, Linux would have at least 50% of the market. Linux would be superior to other operating systems, in all aspects, by at least a mile.
I'm sure there are plenty of good and bad angles and ideas I have missed in here. The general concept of the FACL is the intelligent use of a sunset clause and the GPL. Pay the most attention to the idea and the idea will grow. I want to hear your opinion, but please let constructive criticism reign.
Don't be afraid to change the rules!
nneewwhhaallll@mindspring.com
OR |