~~~~~~~~~~~~~~~~~~~~~~~~~~~HEADER~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CHARTER.txt

Revision :
file created : nov. 23, 2000 by YG
current version : july 10, 2001 by YG

Like everything in the F-CPU project, it is a basis and subject
for constructive discussions and it should not be considered as
definitive. Everybody is asked to contribute to this decisive,
non-technical side of the project. I have cut&pasted some parts
of the previous "F-CPU licence proposal". It is still incomplete.


~~~~~~~~~~~~~~~~~~~~~~~~~INTRODUCTION~~~~~~~~~~~~~~~~~~~~~~~~~~~

The Freedom CPU project (F-CPU for short) is the only fully
parametised 64-bit SIMD CPU core available today in source code form.
Not only it is designed to be able to replace (one day) the best
existing RISC processors in workstations, but it is being developped
in a net-community environment by students as well as professionals
as a hobby. Because their work is performed for free, they want it
to remain free, just like Linux or the GNU project.

Unfortunately, this is not a "software-only" project.

The purpose of this file is to introduce newcomers to
the F-CPU design philosophy and basic rules. More about this
can be read on the F-CPU mailing list(s) and manual.

Because the GNU Public Licence covers most of the needs
of the project, it is the only licence that you have
to comply with. It determines the rights and duties
concerning the distribution, modification, compilation etc.
of the "source code" of the processor (that is : the
VHDL sources contained in this tarball).

However, the GPL doesn't apply to the "electronic" world
and the implementors are completely free to do whatever they
want with the derived physical devices.

You don't have to read the rest of this file if you only want
to use the files without modification. For example, it is not
revelant if you just install the bundle and try to compile the
files. However, if you modify a file, add a new file, adapt a file
for compilation with a tool, build the circuit or add features,
you should carefully read this text.


This charter is intended to provide developpers with guidelines,
"do and don't" rules that should be followed to
keep the project up and running. If a chip is built from
the F-CPU sources then distributed, the respect of these
rules will determine if the chip can be labelled as "a F-CPU".
The use of the F-CPU source files is completely free under
the terms of the GPL, the implementation is not bound in any
way, but the F-CPU development team follows these basic rules :

~~~~~~~~~~~~~~~~~~~~~~~~~~~~GUIDELINES~~~~~~~~~~~~~~~~~~~~~~~~~

o  "The name of the game is freedom". It is forbidden
to forbid others. "One's freedom ends where other's freedom
starts". These three well-known basic rules favor reciprocal
respect and positive ununcumbered work.

o  We promote collaborative work, free communication and
unconstrained sharing of knowledge and know-how. This project is not
a way to earn money quickly and easily, but a mean to learn
technics in a community, with the goal of redistributing the
knowledge evenly. If you remember how you learnt things, you'll
be happy that what you redistribute helps others in the same way.

o  The distribution, modification and knowledge of the sources
(non physical forms of the design, as opposed to the "physical
implementation" of this design) must not be bound or restricted
in ANY way. This is a TINY but crucial modification to the GPL.

o  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.
The privacy rights (as promoted in the GPL) are opposed to the authors'
rights in this case.

o Similarly, in-progress works must be available upon a single
request. An attempt to over-delay the transmission of the requested
files can be interpreted as a "guilty" behaviour. Ususally,
you don't need two weeks to email a file to a co-worker.
This measure is necessary to prevent people from arguing that
"i can't send it to you, it's an ongoing work".

o  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 single 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 can happen.
Same goes with software that we write in community.

o  Do not promote secrecy. Just as the sources came to you
openly, you should not promote secrets or hidden features.
It is forbidden to patent existing features used in the F-CPU.
The F-CPU forums and mailing lists provide you with different
ways to share your remarks, additions, propositions, etc.
Secrecy has no advantage in the F-CPU community and corresponds
to a self-exclusion from the group. 

o  Do not bind the files to a proprietary software or obscure
file format. Anybody should be able to reuse your work without
being forced to acquire a specific software. Standard formats
are highly recommended (ISO, ANSI etc), GNU software is preferred,
freeware or public domain is ok, too. If you use a "specific"
software, you can add the required scripts or configuration files
that interface the F-CPU source with said software.

o  When a source file is modified, the developer must update
the comments and indicate his name, the date, and a short description
of the modifications. It is the easiest way to keep track of
the project's evolution. It is often overlooked in CVS environment,
read QUALITY.TXT for the rationale.

o  When a source file is added to the F-CPU file pool, it must
be distributed under the terms of the GPL.

o  Whenever a file is created or modified, the developper has to
include his personal copyright notice. It is a crucial legal
protection mechanism because different copyrights get thus
inter-mixed. This strengthens the relations and dependcies between
the developpers. If a legal problem arises, a single developper
can not be attacked alone.

o  Please : document and comment your modifications or additions,
because you can read and understand the existing sources. The lack of
decent documentation, just like obfuscated source code, slows down
the development team's work.

o  All documentations written about the F-CPU and the associated
software must be distributed under the terms of the GFDL (GNU Free
Documentation Licence). This applies to manuals, technical books,
drafts or requests for comments (RFCs).

o  Personal opinions, articles or other individual expressions
about the F-CPU are well covered by the copyright laws (that
means that an article or conference doesn't need to be bound
by the GFDL).

o  Even though the GLP allows to sell physical media containing
GPL'd files, the present guidelines only allow it if the same files
are available for free on the Internet with the conditions described
here. This is consistent with the fact that the packaging of the
files on a physical medium is a service only, it is not an exception
to the present guidelines.

o  The modification of the F-CPU design is allowed under
the sole condition that you agree to and respect these guidelines.

o 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
these guidelines or use them against their spirit.

o  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). You can apply the privacy rights here.

o  to be continued...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

These recommendations can be enforced through the copyright laws
and are added to the terms of the GPL.
