Whygee's FCPU License Proposal

To: f-cpu@egroups.com
From: Yann Guidon [whygee@f...]
Date: Sat, 10 Jun 2000 02:03:09 +0200
Subject: [f-cpu] F-CPU licence
This is a proposition and some "meat" for the F-CPU licence rev. 0.01, as everything it is a subject and basis for constructive discussions and should not be considered as definitive : it's just a few things that popped in my brain. Everybody is asked to contribute to this decisive, non-technical side of the project.

What i've done was simply to list the desirable differences and similarities between the GPL and the F-CPU licence. maybe we'll "patch" the GPL later since most of the important things and principles are already written there, with this "patch" as an adaptation of the original text.

(add your name + revision date at the bottom of the list)
(indicate where and what you have modified)

june 10th 2000, YG v0.010
Original version to F-CPU mailing list
june 24th 2000, David Cary v0.011
Dropped requirement for copyright notice on chip
august 11th 2000, GS
Formatting changes for html version (no content changes).
In particular, paras numbered to allow easier reference.
august 14th 2000, GS v0.012
Removed references to 'intellectual property' and replaced
with references to 'the design'

Prologue

Licences are usually intended to restrict the rights of the end user. This F-CPU licence defines the terms under which the user is given rights as well as responsibilities : the licence also defines duties and the rules of the game for transfers of the design happening when developing the F-CPU.

We stress the point that each user and developer is part of a community and what is good for the community is good for the individual, and vice versa. This is why there is no notion of "customer" and "reseller" in this document, but everybody is considered as an individual who can be a "user" as well as a "developer" according to the direction of the transfer (a "user" uses the design developed by the "developer").

Goal(s)

The goal of this licence is to protect the design created by the F-CPU project.

The idea behind the F-CPU project is mainly to transpose the spirit of the GNU project (including the GPL licence and the sofware developed for the GNU project) to the microelectronics world (EDA, CPU architecture, core blocks, instruction sets, software development kits...). The goal of this document is NOT to specify the project goals because it is documented elsewhere and may evolve.

The F-CPU project is NOT the GNU project. There are certain radical differences : this is not a software-only project, the electronics industry has a different nature and the GPL can't be used as it is. The goal of this document is to adapt the GPL and its spirit to this different context. While the main ideas of freedom remain (in the sense of the GPL), some details change.

This licence is also a "game rule" of the F-CPU community which is composed of users and developers. It defines the way people interact at a general level.

What is in common with the GPL ?

  1. The F-CPU licence differs from the GPL on certain aspects but one can see a parallel between them. The GPL can be applied to a source code, that is : a textual representation of a program and all the derived works (compiled files, non-textual representations etc).
  2. The F-CPU licence specifies the terms and conditions of distribution and development of the design, which is more general than a textual source feeding an EDA software suite. The F-CPU design consists of texts, source codes in various langages, manuals, drawings, all the data that describe the CPU, its structure, its behaviour and its interactions with other components. The design spans from high-level schematics and descriptions up to the mask files (like GDSII) or equivalent files for Programmable Logic Devices. This generalisation includes the principles and ideas behind the architectures, all the necessary files in their respective formats (including but not limited to : VHDL, Verilog, RTL, scripts, pictures, texts, test vectors...).
  3. The scope of this licence stops when it comes to physical process-dependent parameters that do not directly influence the performance or the price of the final product. The thickness of the metal layers, their chemical composition or the deposition details do not directly influence the overall architecture in the general case. Otherwise, the implementor must specify the critical parameters that were used to fabricate the chip and modify the architecture, so the implementation can be reproduced.
  4. The general principle is that one can read the GPL and replace "software" with "F-CPU design". A chip, a final product derived from the design or any material implementation is considered as a "distribution" when compared to the software world. Hardware has a price, has fabrication, transportation and marketing constraints but all the information that constitute the design can be easily spread through electronic media. A "distribution" also has the obvious constraint to be complete and working, otherwise it is still considered as a "source" and is freely shared.
  5. Like GPL'ed software, the design files can be sold on a physical media (that is : CD-ROM, diskette, magnetic tape or similar persistent medium) under the condition that the same data are also available for free download on the Internet (with ftp or http). This is consistent with the fact that the whole design is freely available without restriction (cf : the following chapter).

Rights and duties :

  1. The distribution, modification and knowledge of the sources (non physical forms of the design, as opposed to the "implementation" of this design) must not be bound or restricted in ANY way.
  2. In particular, you need not be a customer of a F-CPU vendor in order to access the sources of any F-CPU version or derived work. Similarly, in-progress works must be available upon a single request.
  3. The reason for this break from the GPL principle is simple : the F-CPU is not the property of an individual or a company, but belongs to everybody. Anybody must be able to examine, use or modify any version of any document because it is not the exclusive property of a person. If you have your kid in a kindergarten, you think it is normal to visit the location and see if your kid is safe or if nothing wrong happened. Same goes with software. Secrecy has no advantage in the F-CPU community and corresponds to a self-exclusion from the group.
  4. Any implementation of the F-CPU IP must hold a written mention of the version and an Internet address (URL) where the original files are stored. This is meant to ensure that any user can easily use any F-CPU version or variation, simply looking at the chip's package.
  5. For example, this is a recommended format :
  6. If the Zoobidah corp. copied and implemented a design of the Artchoon corp. without modifying it, the index.html at http://www.zoobidah.com/125089/ must specify it and point to the original location of the files. Zoobidah may miror the files as well (just in case Artchoon corp. went out of business without warning).
  7. If there was not enough surface on the package, the hardcopy manual provided with the chip as well as the website must ensure that one can find the location of the design files easily in the server, for example with a general index directly reachable from the main page of the site. It is not required that the files are located on the same server, but all the files used to fabricate the chip MUST be available directly through a simple URL.
  8. Specifying an URL on the chip is important when one has to use/acquire a new or old hardware : if several vendors offer several versions of a chip, one can not interpret all the numbers on a package. A direct URL indirectly helps evaluate the characteristics of a certain chip without browsing through a hundred books or web sites, in search of the exact reference. This web hosting is also one part of the user support that a company owes to a customer. It is not considered a "fair sale" to sell something without letting the user know what's inside it. Respecting the practice described in this chapter is one simple way to be more transparent with the users.
  9. All software created for simulating, developing and managing the F-CPU design must be distributed under the terms of the GPL in order to promote and keep the openness and freedom of the project.
  10. Existing software that are not distributed under the terms of the GPL can be ported to a F-CPU platform if these applications are not platform-specific. For example, it is possible to port Mozilla (distributed under the terms of the MPL), LaTeX (under LPPL) or Apache to the F-CPU.
  11. It is not possible to port non-GPL software that interact directly with the machine : device drivers, OS kernels, compilers, debuggers or cpu simulators/emulators. This measure is necessary to keep the platform "free" from industrial pressure, arbitrary biases or the damages of the discontinuing of a product line. It also ensures that the new software matches the specific characteristics of the new hardware with less performance lag (thanks to rewriting rather than recompiling only).
  12. All documentations written about the F-CPU and the associated software must be distributed under the terms of the GFDL (GNU Free Documentation Licence).
  13. The use and distribution of the F-CPU design is allowed under the sole condition that you agree to and respect this F-CPU licence. You do not have to register yourself in a database, you do not need any authorization of any kind and you can do whatever you want with the F-CPU design, except : changing the copyright notices, altering this licence or use it against its spirit.
  14. Unlike some "Open" standards and initiatives, you do not need to fill in a form, pay a fee or a licence to use the F-CPU design. In return, you may not restrict the direct access to the design that you have modified, even for the sake of collecting statistics or polling (or, in general, collecting individual/personal data or going through advertising pages).

When this document will be ready, the big work will be to merge it with the GPL text. we need help for this, because the F-CPU licence must not become incompatible, even though some details differ. see http://www.gnu.org/philosophy/license-list.html
WHYGEE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
the F-CPU: http://www.mime.univ-paris8.fr/~whygee/f-cpu.html
SHARCPAGE: http://www.mime.univ-paris8.fr/~whygee/sharcpage.html

G.Seaman,    14th August 2000.