The SEAL license

The following is an email discussion I had with someone about the new SEAL license:

...

Legally, they would be unable to apply this new license retroactively to previously released versions. The legal principle at work is called 'estoppel.' Once a license is declared for a release, that release is bound to that license. They can choose to change the license later on, but the new license only applies to the new releases. So in that respect, it would be safe to distribute the last GPL version of SEAL that you have. However, as this is no longer the most recent, you'd probably get some heat from people who wanted to use the most recent version.

The license issue is a tricky thing, and it is for a similar license issue that I stopped including hte Micro-C compiler, even though Micro-C is good for writing small C programs that don't use memory management. The Micro-C license also had a clause about not modifying the binary distribution, which I had interpreted as "I won't distribute a modified .EXE from Micro-C." But the author had interpreted this differently, as "you will not modify my .zip file". Of course, legally I could have fought this, since hte license was not written well, IMO. But things like that never turn out well, so I figured the safest thing to do was to drop Micro-C entirely from the distribution and not have to worry about it anymore.

Yeah, I took some heat for that decision, and the Micro-C guy called me a coward for it. But in the end, I just didn't feel that his license was "Free" enough to be included in the FreeDOS distribution.

So if you would like to drop SEAL from the distribution for similar reasons, I would say go for it. I hadn't paid much attention to the SEAL license issue before (although I think it was Aitor who posted some item to the mailing list at one point, complaining about the new license), but now that I look at the license you sent me, I realize it does not meet a definition of "Free" software. See below.

If you do drop it, we can make a newsitem on the www.freedos.org site that says why we are dropping it, which will do two things: let people know why we did this, and make the SEAL guys consider changing their license to something more Free.

...

Now, back to the SEAL license:

Seal System License 2.0.10 - Copyright SealSystem / Point Mad - All Rights Reserved.

Author of SEAL 1a, 1b, 1c, 1d, and 1.e is Michal Stencl Authors of SEAL 2.0 are Julien Etelain and Callum Lawson

Redistribution and use in source or binary form with/without modification, is permitted, providing that the following conditions are met:

-> Redistributions of source code must retain the above notice, this list of conditions and the following disclaimer.

-> Redistributions in binary form must not be modified in ANY way, and must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

-> Source code licensed under this license can only be used in Seal 2 approved opensource projects. Changes and/or improvements must be contributed to the Seal 2 Project. No sources may be used in an unapproved Seal 2 product. When approved, you MUST KEEP THIS HEADER INTACT, KEEP THE ORIGINAL AUTHORS(s) NAME, AND THIS HEADER IS NOT MODIFIED IN ANYWAY !

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH.

Since I just gave my keynote presentation last night at SSGRR about managing a successful open source project, I have the concepts of good licenses in my head. For a license to qualify as "open source", it really only has to provide access to the source code. You may not be able to *do* anything with the source code other than look at it, but once you let people look at source code, you have met the standard definition of "open source". (This is why the term "open source" is bad ... it's too vague.)

Of course, this was not the intended definition when ESR wrote the Open Source Initiative, and when he popularized the term "open source". ESR had really intended "open source" to mean something more like RMS's concept of "Free software", but he wanted to have a name ordinary people wouldn't be afraid of, and that the press could write about without getting confused with free (as in no cost) and free (as in freedom.) But as things go, various companies (including Caldera) sort of abused the concept of "open source" when open source became a popular thing. These companies would release programs with source code, and call it "open source", but really you couldn't do anything with the source. It was "Look but do not touch".

So from that definition, I think the SEAL license meets the definition of "open source", and so they can get away with calling themselves an open source project. By their license, they are allowing people to see the source code. They want to keep pretty strict control over their source code, and want any changes to the project submitted back to them. (I can at least see how they got here, even if I don't agree with their license... they were probably trying to avoid situations where "forks" to the project happened like 'BadSEAL' and such...). They also don't want their source code used in any project that is not 'approved' by them. From a free software perspective, this last one is very dangerous. It really restricts the developer in what he or she can do with the source code.

To qualify as Free software, you have to meet 4 general conditions:

  1. I have to be able to view the source code.
  2. I have to be able to modify (or fix) the source code to suit my own needs.
  3. I have to be able to share my fixes or improvements of the source code with others (including a pre-compiled binary, but so long as the source is also available.)
  4. I must be able to re-use the fixes (or any part of the source code) to help another similarly Free software program.

If you look at the GNU GPL, which is probably the best example of Free software, you'll see that it meets these 4 conditions. And if you look around on RMS's web site, you'll see that he mentions these same 4 conditions .. they're just worded a bit differently, but they are the same.

So, let's look at the SEAL license, and see how it meets the 4 conditions:

  1. I can see the source code. [yes, I can see the SEAL source code, according to their license.]
  2. I can modify the source code to meet my own needs. [technically, there is nothing in their license that forbids me to make changes to the software to meet my own needs, but then they place restrictions on my freedom by saying that I *must* submit my changes back to them. this impunes on my freedom, and so I do not consider that the SEAL license adequately meets this condition.]
  3. I can share my changes with others. [interestingly, I don't see anything in the new SEAL license that says I cannot share my source code changes with other people .. assuming that I have already met their condition that I submitted my changes back to the SEAL project. So from the very strictest sense, they have met this condition. But again, they place restrictions on my freedom by saying that I *must* submit my changes back to them. this impunes on my freedom, and so I do not consider that the SEAL license adequately meets this condition.]
  4. I must be able to re-use the source code to help other Free software projects. [no, they have not met this condition. the SEAL license specifically says that source code cannot be used in any project not approved by them. I can imagine a condition where I choose to write a GUI that looks and acts a lot like SEAL, but I choose to use the GNU GPL, so I meet all conditions of Free software. Yet if they are concerned about someone "cloning" the SEAL project, I can see a condition where the SEAL team would probably not approve of this project, so I would not be able to re-use SEAL source in the new program, even though the new SEAL program was Free. I don't think the SEAL license meets this condition, and the attitude that I gather from the wording of the license indicates they do not *want* to meet this condition.]

So, the new SEAL license has failed to adequately meet condition 2, does not adequately meet condition 3, and completely fails to meet condition 4. The only condition they do meet is the first one, which only qualifies them as an "open source" project.

Yeah, I guess that's a long way to say that the SEAL license is no longer adequately Free, so you are definitely justified if you feel you want to drop SEAL from the FreeDOS distribution.

Which is a pity, by the way. SEAL is a very nice looking GUI. I'm not much into GUIs myself (even though I use the GNOME at home .. I really only use the GNOME to more easily allow me to shift between things I'm working on. I guess I'm more of a command line guy, even today.) But the SEAL was a very nice project that seemed to run well on FreeDOS. It's a pity they chose to go with such a restrictive license.

-jh