[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[f-cpu] CHARTER.txt



ooops,

i have forgotten to write that, during the file update
process, i have added some precisions in the charter.
I do not consider this as definitive but it addresses
the requests from nicO and Michael.

I have enclosed the new proposed version.
The additions are at the bottom.

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

Revision :
file created : nov. 23, 2000 by YG
current version : dec. 26, 2001 by YG (preliminary)

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 intended 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 some basic rules.


Finally, one can say that the F-CPU project is subject to
the laws of thermodynamics : "you don't get anything for free"
and "you don't get what you want the way you want". It's
a bit far fetched but we have some entropy, too ...


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

o - "The name of the game is freedom".
  - "It is forbidden to forbid others".
  - "One's freedom ends where others' 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". Blocking/stalling
development through obfuscation and delay is not welcome.

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 it 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 same terms as the others in this package.

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 relationships and dependencies between
the developpers. If a legal problem arises, a single developper
will not be attacked alone. Similarly, more programers have more
weight than an isolated one, if a problem arises.

o  Please : document and comment your modifications or additions,
because/as 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 intent (explained in this
document).

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  Binding : As long as the files are not altered, it is possible
to "compile"/"synthesise" the F-CPU source code for any platform
or technology. It is the same thing as compiling C sources (under GPL)
for different CPUs, whatever their implementation.
This means that you can use "proprietary" memory modules or cell
libraries if their behaviour matches exactly the F-CPU specifications
and if the necessary support files are provided. Usually, when the
modules are automatically mapped by a synthesiser, there is no problem.

o  Extension of the licence terms :
The GPL and this charter apply to all the files (and documents,
but under GFDL) that constitute the F-CPU project, which is
aimed at designing a CPU core, an Instruction Set Architecture
and the necessary support software.
 * This includes all the components inside the core : the execution
  pipeline, the scheduler, the memory buffers, the L1 cache, the
  BIST, the Special Registers, ...
 * This does not include components that are connected to the core
  through the F-CPU-defined interfaces (including clock, reset
  and memory signals). The F-CPU core communicates with other
  components through its memory interface, it can communicate
  with other other "external components" without requiring them
  to be available under GPL.
One can draw an analogy with the GNU EMACS software that can run
under Microsoft Windows without requiring Microsoft to release
its source code. In all cases, the problems boil down to the
openness of the chosen interface. F-CPU must only use unencumbered
standards and protocols.


o  to be continued...

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

DISCLAIMERS :
Nobody will endorse or encourage the use of the F-CPU's work
in any critical environment or where life is at sake, including
(but not limited to) space, medical or military equipment.
The Freedom CPU project is a pacific research effort and can
not be held responsible for the misuse of its material.
This is an ever-evolving collection of documents and source
code where bugs can hide easily. We count on your good sense
and your responsibility.

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

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

If we get enough legal advices, a F-CPU licence will probably
be written. Remember : the Freedom Project is not the GNU project
and is not bound to the FSF. Furthermore, the GPL is not perfect.
Stay tuned for any licence modification or refinement.