Retrostep: GPL, Artistic, Retrostep And Me
 

Draft Document (Revision 4.1)
Copyright © 2002 by Mudiaga Obada

Contents

1  GPL Woes
2  Combining
3  Header Files
4  The Artistic License
5  Why Artistic?
6  GPL Spiritual Leaders
7  Credits or Propaganda?
8  References

1  GPL Woes

Ten years ago, if you got source code, it was either public domain or it allowed unrestricted use. There wasn't a lot of software out there, but there was enough and they where of good quality. Today, if you try to find source code that does something, you will find so much stuff - most of them released under the GPL, and most of these GPL-ed software being simply bad software. It just makes life more difficult when trying to find useful source code to use in one's own software.

But even today, look at good and useful sources out there X Windows wine, libraries, libpng, zlib, pcre, python and apache. Are these under the GPL? Thank goodness most of them are not!1

Due to the GPL placing too much restrictions on software use, it gets in the way of having things standardized and promotes unnecessary ``forking''. Another very disturbing fact is that too many people who release software under the GPL do not understand the GPL, it's intentions or the philosophy behind it. They just see it as a convenience to use the GPL's boiler plate and feel very good releasing their software under the GPL because it is a trend.

Let me at this point not leave a certain fact unstated: What believers of the GPL think, and what the legal system permits or forbids are two different things. I am not really interested in legal issues, but on moral issues and what ultimately brings more benefit to society.

2  Combining

To ``combine'' or not to ``combine'', that is the question. Taking parts of a GPL program and putting it in a GPL DLL is allowed. The GPL tries to prevent abuse of this by defining ``combine'' in a very broad sense, and leaving it to a judge to decide if their definition is valid.

Personally, I think that it not only morally good, but also beneficial to users if all programs are designed and licensed to allow them to be ``combined'' with any DLL under any license, as long as the program can also run without the DLL, or if the DLL can be replaced with another implementation. This is sometimes even necessary when a library's functionality it encumbered by patents, export restrictions, or similar.

In the specific case of ``Litestep'' modules, I am very convinced that it is a module that is using lsapi.dll, and not at all lsapi.dll using the modules. lsapi.dll may thus be under any license and not violate the GPL by running GPL-ed modules. It's a module that may not be used with an lsapi.dll that is ``incompatible'' with the GPL, and not the other way around.2

I also think that the attempt of the GPL to see program inter-operation differently based on whether it is via dynamic linking, a clipboard, IPC, RPC, system(), or what ever is yet to come in the future as either thinking of the 60s, or plain silly. Mark you - this is the GPL drafted by people who are against patents and non-free interfaces. And yet, they attempt to limit certain interfaces from being freely used in communicating with GPL-ed programs. But it doesn't stop there.

If you believe in the GNU's definition of ``combine'', you may not used GPL-ed plug-in DLLs for the following:

  • Photoshop Filters
  • Winamp Plug-Ins
  • Netscape Navigator Plug-Ins
  • Many other closed-source programs

In fact, many GPL-ed software created for Windows(tm) may not be used under Windows because some important Windows SDKs that make up the Windows platform are not things ``normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system''. - A case where the selfish GPL is forced to make ``a special exception.'' These restrictions are placed on you by GPL. At least, it attempts to.

But isn't all this ``combine'' talk sheer stupidity? After all the GPL itself says

``activities other than copying, distribution and modification are not covered by this License; they are outside its scope'' and that ``The act of running the Program is not restricted.''
Then at other places the GNU documents try to tell you that ``combining'' at runtime is a violation of their license. To me, this is an obvious contradiction to the GPL itself, and since this views are not expressed in the GPL itself, I doubt a court will find ``combining'' at runtime to be enforceable.

3  Header Files

The GPL would consider using header files of programs under the GPL - no matter how trivial - to be ``combining'' and thus requiring the resulting work to be placed under the GPL. Let's agree with that for now... short of wondering about the usefulness of that.

4  The Artistic License

Note that ``The Artistic License'' (under which retro is distributed) is not the same as the ``The Clarified Artistic License'' or ``The Artistic License, 2.0''. The later licenses are ``compatible'' to the GPL because they allow one to take a package, release it under the GPL, and not give back the changes (either in source form or by documenting it) to the original version. I personally like to take this difference as a simple explanation for what it means to be GPL ``compatible''.

I think the biggest problem the GPL spiritual leaders have with The Artistic License is that it is inconvenient to ``convert'' software under the Artistic License to GPL.

Remember that the ultimate goal of the GPL is that all software be under GPL. As to ``The Artistic License'' making requirements and giving ``loopholes'' that make it easy to bypass these requirements, this is totally acceptable to me because it only allows people unwilling to contribute improvements to distribute their improvements under any terms they see fit as long as they document what they have changed, and thus making it possible for the original program to also implement those changes.

5  Why Artistic?

To place minimun restrictions on source code useage, while encouraging modifications to go into the standard version.

The requirement of the Artistic License that the use of the Package ``be embedded'' should also imply that the package is being used in a way that such improvements will not be very useful to the Standard distribution anyway. In the case of perl, you don't need to be smoking anything to come up with the provisions the license tries to make.

If you write the perl program 'print "Hello, World!"', you are free to combine this perl program with the rest of perl to produce another self contained program which you may get rich from - as long as this program does not also reproduce perl's functionality. Now take 'print "Hello, World!"' to be a theme and a bunch of proprietary modules. How do you see this being a problem? I would like to see lsapi.dll as a truly free runtime system.

6  GPL Spiritual Leaders

The GPL was created as part of a political agenda to enforce the extreme views of certain people on others. And these people, like every dictator, honestly think they know what's better for others. As a simple example of that, here's what gnu.org has to say about ``The (Original) Artistic License''.

``it is too vague; some passages are too clever for their own good.''

Now there is the GPL pope himself. Personally, I dislike him. I also think that most of the software for which was directly responsible for, short of their being free, popular and feature rich, are trash. I see hard work in them but very little creativity or visionary thinking. That includes Emacs, gcc and Hurd.

7  Credits or Propaganda?

Now should I try to force people (some of which who do not even wish to release their work under the same terms as mine) to display my name and copyright information in their product? I don't think so. Trying for force software to spread propaganda, as required by the GPL for example, is unacceptable to me. If someone gives me credit, or just let me know they used my work, I'll be thankful. If they don't I won't be surprised. I know what most people in this world are like. Talking about this world, those who drafted and actively promote the GPL are smoking something that's not from this world.

8  References

Retrostep Homepage

GNU General Public License

Frequently Asked Questions about the GNU GPL


Footnotes:

1Unfortunately though, some software change their licenses in and out of the GPL over time

2Sorry GPL fans, that's what you get for putting code under the GPL.

 Retrostep 
About
Downloads
Documentation
Project Page

Powered by Sourceforge
SourceForge Powered


[     top     ]