Whygee's FCPU License Proposal
From: Yann Guidon [email@example.com]
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
Original version to F-CPU mailing list
june 24th 2000, David Cary
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.
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 the Intellectual Property transfers
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 IP transfer (a "user" uses the IP developed
by the "developer").
The goal of this licence is to protect the Intellectual Property
of 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, IP 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 ?
- 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).
The F-CPU licence specifies the terms and conditions of distribution
and development of the project's "Intellectual Property" (IP) which
is more general than a textual source feeding an EDA software suite.
The F-CPU IP 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 IP
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...).
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.
The general principle is that one can read the GPL and replace "software"
with "F-CPU Intellectual Property". A chip, a final product derived
from the IP 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 informations that
constitute the IP 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" ans is freely shared.
Like GPL'ed software, the IP 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 all IP is freely available without restriction (cf : the following
Rights and duties :
- The distribution, modification and knowledge of the sources
(non physical forms of the IP, as opposed to the "implementation"
of this IP) must not be bound or restricted in ANY way.
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.
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.
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.
For example, this is a recommended format :
- on the chip :
- on the web :
|-- index.html indicates where the design files are located in the site.
|-- /125086 \
|-- /125087 different implementation versions
|-- /125088 /
| |-- index.html
| |-- README.TXT
| |-- /manuals \
| |-- /datasheets for every design and version
| |-- /sdk /
| |-- /errata (nobody's perfect !)
| |-- /sources
- 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
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.
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.
All software created for simulating, developing and managing
the F-CPU IP must be distributed under the terms of the GPL in order
to promote and keep the openness and freedom of the project.
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.
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).
All documentations written about the F-CPU and the associated software
must be distributed under the terms of the GFDL (GNU Free Documentation
The use and distribution of the F-CPU IP 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 IP, except : changing the copyright notices, altering this licence
or use it against its spirit.
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 IP.
In return, you may not restrict the direct access to the IP that you have
modified, even for the sake of collecting statistics or polling (or, in
general, collecting individual/personal data or going through advertising
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.
the F-CPU: http://www.mime.univ-paris8.fr/~whygee/f-cpu.html
12th August 2000.