Copyrighted Programming Languages
=================================

by Richard Stallman

The GNU project has produced one of the best C compilers now in existence.  The reason I decided to write a C compiler, rather than designing a new, completely clean language, is that C is the language users' programs are written in.  For a Unix-like system, a compiler for C is absolutely essential.

If a new language becomes equally essential for a useful computer system, will we be allowed to write a compiler for it?

Not if we want people in Europe to use the compiler.  On May 15, the European Community adopted a new directive for software copyright.  It establishes not only copyrighted user interfaces, but also copyrighted protocols, copyrighted data formats, and copyrighted programming languages.

Here is what the law says about interfaces:

     Whereas for avoidance of doubt it has to be made clear that only the expression of a computer program is protected and that ideas and principles which underlie any elements of a program, including those which underlie its interfaces, are not protected by copyright under this directive;

This leaves room for the details of an interface---as opposed to the underlying ideas---to be copyrighted.

The Legal Affairs Committee of the European Parliament recommended changes to solve this problem for certain kinds of interfaces.  They proposed adding the following text:

     Whereas, these unprotectible items include, for example, protocols for communication, rules for exchanging or mutually using information that has been exchanged, formats for data, and the syntax and semantics of a programming language;

This amendment was rejected after serious debate in which the conservative party especially opposed it.  The importance given to the question shows that it was regarded as a substantive change---that Parliament believes the law as written permits copyright on the syntax and semantics of a programming language.

The principal supporters of these broad and dangerous monopolies were a few large computer companies: IBM, Digital, Apple and Siemens. (Only one of them is a European company.)  Many smaller companies formed the European Committee for Interoperable Systems to lobby against interface monopolies, but had little success.

What about the United States?

Ashton-Tate is once again pushing its case for a copyright on the programming language used in DBase.  Last winter, the judge ruled that the copyright on DBase was invalid because Ashton-Tate had failed to inform the copyright office that part of the program was an earlier, public domain program made at JPL.

It turns out that the ``part'' in question was the programming language---no part of the program at all!

More recently, the judge reversed his own decision.  The case is now proceeding.

The latest version of the System V Interface Definition claims that the interface is copyrighted.  Adobe says the Postscript language is copyrighted.  You can bet that IBM, Digital and Apple are telling Congress loud and clear that programming languages should be copyrighted.  And they will point to the European law as proof this is the best policy.

So, the next time you adopt a new language, will we be allowed to add support for it in the GNU compiler?  Not in Europe, and probably not in the US either.

Since surveys show most programmers disapprove of these restrictions, most likely you do too.  The question is whether you want to do anything about it.  You can speak up and have an effect on the decision, or you can do nothing and let IBM, Digital and Apple do all the talking.

The FSF is doing what it can.  We joined the League for Programming Freedom as an institutional member, as seven companies have also done. Some of the FSF staff number among the 600 individual League members. I'm going to spend all of June giving a talk each day in Europe, trying to stir up opposition.

However, it takes more than 600 people to win this battle.  So the most important thing we can do is to publish this article.  Now, you know how to help.  The outcome is up to you.

From the League membership form:

     The League for Programming Freedom is a grass-roots organization of professors, students, businessmen, programmers and users dedicated to bringing back the freedom to write programs.  The League is not opposed to the legal system that Congress intended---copyright on individual programs.  Our aim is to reverse the recent changes made by judges in response to special interests, often explicitly rejecting the public interest principles of the Constitution.

     Membership dues in the League are $42 per year for programmers, managers and professionals; $10.50 for students; $21 for others.

     If you have any questions, please write to the League, phone (617) 243-4091, or send Internet mail to league@prep.ai.mit.edu.

To join, please send a check and the following information to:

     League for Programming Freedom
     1 Kendall Square #143
     P.O. Box 9171
     Cambridge, MA  02139

     Your name:

     The address where we should send League mailings, a few each year;
     please indicate whether it is your home address or your work address:

     The company you work for, and your position:

     Your phone numbers (home, work or both):

     Your email address, so we can contact you for demonstrations or for
     writing letters.  (If you don't want us to contact you for these
     things, please say so, but please give us your email address anyway.)

     Is there anything about you which would enable your endorsement of the
     LPF to impress the public?  For example, if you are or have been a
     professor or an executive, or have written software that has a good
     reputation, please tell us.

     Would you like to help with LPF activities?

AT&T Threatens Users of X Windows
=================================

This spring, AT&T sent threatening letters to every member of the X Consortium, including MIT, saying they need to pay royalties for the X Window server.  This is because AT&T has patented the use of ``backing store'' in a multiprocessing window system (patent number 4,555,775).

MIT is looking into how to fight AT&T in court if necessary.  Earlier work done on the MIT Lisp machine may serve as prior art to defeat this patent.  Or it may not.  We can't tell what will happen until the judge decides.

IBM also has a patent on something similar, which may also endanger X Windows.  They claim patent 4,653,020 covers any system which supports multiple windows in which some windows have full copies offscreen.

Meanwhile, Cadtrak continues to demand royalties from the users of X Windows for using exclusive-or to write on the screen, which is covered by patent number 4,197,590.

The GNU system won't be terribly useful if it can't have X Windows. But that isn't the only essential system feature which is in danger. Emacs is threatened by IBM patent number 4,674,040 which covers ``cut and paste between files'' in a text editor.  And patent number 4,687,353 seems to cover setting a tab stop in a text editor for indented text.  Many Emacs features are threatened by patent number 4,458,311, which covers ``text and numeric processing on same screen''.

Not to mention patent number 4,398,249 covering the general technique known in spreadsheets as ``natural order recalc''.

If we have to fight one of these patents in court, we will use up all our funds doing it.

There is little the FSF itself can do about these threats.  We have added a provision to version 2 of the GPL so that we can prohibit distribution of one of our programs in a certain country if it is covered by patents there.  Most likely, that country will be the United States.

Beyond that, we have joined the League for Programming Freedom, which is trying to get patents out of the software field.  If you are a system programmer, chances are you, too, will find you can't do your work without infringing these patents.  Not to mention the thousands of other patents that apply to software.  Doesn't it make sense for you to join the League for Programming Freedom?