Difference between revisions of "Read Me"

From Wiki
Jump to navigation Jump to search
(Text of mreadme.pdf)
 
m (fix pragma links)
 
(5 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
What follows is the text from
 
What follows is the text from
[[http://www.pragma-ade.com/general/manuals/mreadme.pdf mreadme.pdf]],
+
[[manual:mreadme.pdf|mreadme.pdf]],
 
adapted to wiki markup.   
 
adapted to wiki markup.   
  
This page is generated from mreadme.pdf on 2005.05.31.
+
This page is generated from mreadme.pdf on 2019.02.04.
  
[[User:Taco|Taco]] 14:26, 31 May 2005 (CEST)
+
== Read Me First ==
----
 
  
== Read Me ==
+
=== Introduction ===
 +
 
 +
What licence suits best for a TeX like system is a matter of taste. Personally
 +
we dislike any licence that needs more than a few pages of dense legal code to
 +
get the message across. A TeX related system like ConTeXt is a hybrid of
 +
programs, scripts and/or macro code as well as documentation and sample code,
 +
including graphics. TeX related systems also have a long standing tradition of
 +
providing support structures for users. In order to make support feasible, a
 +
TeX based system like ConTeXt assumes a certain logic and structure in the
 +
way the related files are named and organized in a tree structure. Even a small
 +
change in one of the elements may let such a system behave differently than
 +
manuals suggest. Swap a font, change some style defaults, leave out some pieces,
 +
and users may end up in confusion. A licence does not give a user any guarantees!
 +
 
 +
In order to satisfy those responsible for distributing ConTeXt, we need to
 +
choose a licence that makes them feel comfortable. Unfortunately we don't feel
 +
that comfortable with a licence that does not provide the guarantees that a
 +
system will not be adapted in such ways that the advertised behaviour changes. On
 +
the other hand, it is the responsibility of those distributing and extending the
 +
system to make sure that this does not happen. However, users should not
 +
automatically assume that what they get shipped is the same as the original,
 +
which is why we stress that support (from our side) will only be given on
 +
unaltered systems.
 +
 
 +
First of all, what is ConTeXt? It's just a bunch of macros, written in TeX
 +
and MetaPost, meant for typesetting documents. The macros are accompanied by
 +
some scripts, written in Perl (mainly the older scripts) Ruby (also older
 +
ones) and Lua (the current fashion). The ConTeXt distribution comes with a
 +
few fonts, files that help manage resources (e.g. map files needed for MkII),
 +
as well as patterns (based on official ones, so this is a derived work).
 +
 
 +
The ConTeXt distribution is packaged in a zip file organised in the TDS
 +
structure.
 +
 
 +
<table>
 +
<tr><td><tt>cont-tmf.zip</tt></td><td>the main distribution that has all relevant files</td></tr>
 +
<tr><td><tt>cont-tst.7z</tt></td><td>a bunch of test files that can also serve as examples</td></tr>
 +
<tr><td><tt>cont-mpd.zip</tt></td><td>a MetaPost to PDF converter (not needed in ConTeXt)</td></tr>
 +
<tr><td><tt>cont-ppc.zip</tt></td><td>a macro package for typesetting chemistry (not needed in ConTeXt)</td></tr>
 +
<tr><td><tt>cont-sci.zip</tt></td><td>configuration files for using ConTeXt in the SciTE editor</td></tr>
 +
</table>
  
=== Preamble ===
+
There are two flavours of ConTeXt: MkII and MkIV. The first one is frozen and
 +
will not be extended. It runs on top of PdfTeX or XeTeX. The MkIV version is
 +
actively developed and runs on top of LuaTeX (an engine that is developed
 +
alongside ConTeXt but that can also be used for other macro packages).
  
This document presents licence information on ConTeXt, a macro package
+
The documentation can be downloaded from our website or the Wiki. Some manuals
written in the typographical programming language TeX. This document
+
ship with source code. We might ship more source code but only when the source is
is ''not'' an installation manual. For installation of ConTeXt and its
+
stable and clean and can serve as an example.
accompanying programs we refer to the following documents:
 
  
* [[http://www.pragma-ade.com/general/manuals/minstall.pdf How to install ConTeXt]]
+
That said, what licence does apply? We need to distinguish between things that
* [[http://www.pragma-ade.com/general/manuals/mtexexec.pdf TeXexec explained]]
+
resemble a program on the one hand and documentation on the other hand. We
* [[http://www.pragma-ade.com/general/manuals/mtexutil.pdf TeXutil explained]]
+
(currently) use a different licence for either of them.
  
In addition you may need the introduction and/or reference
+
=== The Code ===
manual. There are more documents, but you need only these to get
 
started. Unless you are going to change and redistribute ConTeXt, you
 
can quit reading now.
 
  
=== Introduction ===
+
The program code (i.e. anything not under the  <tt>/doc</tt> subtree) is
 +
distributed under the
 +
 
 +
<div style="color:gray;">
 +
: [http://creativecommons.org/licenses/GPL/2.0/ Creative Commons GNU GPL]
 +
</div>
 +
 
 +
For practical purposes distributers may also choose the LaTeX project licence,
 +
which is considered to be a bit more TeX friendly. (BSD alike licences also
 +
apply well for ConTeXt.)
 +
 
 +
In practice, users may forget about the legal part, if only because I haven't
 +
even read (and understood) it completely myself, so let's stick to what Creative
 +
Commons makes of it:
  
'''[1.1]'''  The name ConTeXt is reserved for the distribution as
 
provided by Pragma ADE. This distribution is copyrighted and licensed in the
 
spirit of the gnu general public licence. To prevent inconsistency in
 
distributions and to ease support, we will stress some details of
 
adapting sources and distributions.
 
  
'''[1.2]'''  The ConTeXt distribution includes TeX macro files as well as
+
<div style="color:gray;">
some utility programs written in Perl, Perl/Tk, and Ruby as well as
+
The GNU General Public License is a Free Software license. Like any Free Software
graphic macros written in the METAPOST language. The same conditions
+
license, it grants to you the four following freedoms:
apply to all files.
 
  
'''[1.3]'''  The logos associated to Pragma ADE, ConTeXt, TeXutil and related
+
* The freedom to run the program for any purpose.  
programs are copyrighted by Pragma ADE and may not be used for other
+
* The freedom to study how the program works and adapt it to your needs.
purposes than their intended usage without permission.  
+
* The freedom to redistribute copies so you can help your neighbour.
 +
* The freedom to improve the program and release your improvements to the public, so that the whole community benefits.  
  
'''[1.4]'''  Whenever one of the source files of ConTeXt mentions the file
+
You may exercise the freedoms specified here provided that you comply with the
being copyrighted by Pragma ADE, the conditions mentioned in this
+
express conditions of this license. The principal conditions are:
document apply.
 
  
=== Principles ===
+
You must conspicuously and appropriately publish on each copy distributed an
 +
appropriate copyright notice and disclaimer of warranty and keep intact all the
 +
notices that refer to this License and to the absence of any warranty; and give
 +
any other recipients of the Program a copy of the GNU General Public License
 +
along with the Program. Any translation of the GNU General Public License must be
 +
accompanied by the GNU General Public License.
  
'''[2.1]'''  Pragma ADE originally developed ConTeXt for producing highly
+
If you modify your copy or copies of the program or any portion of it, or develop
structured documents as used in educational settings and process
+
a program based upon it, you may distribute the resulting work provided you do so
industry. Currently ConTeXt is used by publishers and in education, in
+
under the GNU General Public License. Any translation of the GNU General Public
profit and non profit organizations. There are also numerous private
+
License must be accompanied by the GNU General Public License.
users. These all depend on ConTeXt being stable system.
 
  
'''[2.2]'''  One of the objectives of ConTeXt is the low entry level, that
+
If you copy or distribute the program, you must accompany it with the complete
is, for day-to-day use no special technical (and no in-depth TeX)
+
corresponding machine-readable source code or with a written offer, valid for at
knowledge is needed. This is reflected in the user interface. We don't
+
least three years, to furnish the complete corresponding machine-readable source
expect users to be experts on installing TeX and adapting macros for
+
code.
local use.  
 
  
'''[2.3]'''  We try to keep ConTeXt in sync with developments in
+
Any of these conditions can be waived if you get permission from the copyright
publishing. So far this has lead to support for output formats like
+
holder.
pdf and alternative coding standards like xml. It has also resulted in
 
a couple of user interfaces and tools.  
 
  
'''[2.4]'''  Further development of ConTeXt takes place at Pragma ADE with
+
Your fair use and other rights are in no way affected by the above.
the help and input from some active users. All kinds of comment from
+
</div>
users is welcomed and will be taken seriously. When we talk about
 
ConTeXt, we refer to the version as distributed by Pragma ADE and
 
described in the official reference manual.  
 
  
'''[2.5]'''  ConTeXt consists of several series of modules, that can be
+
Many source filed mention the <q>ConTeXt Development Team</q> as
recognized by the fact that the filename starts with four characters
+
copyright holder. This is because over time users submit patches and whenever
and a dash. These core modules take care of languages, fonts, general
+
something happens to the main author, those involved in development can take
typography, data abstraction, and manipulations. On top of this core,
+
over without the need to bother about derived work. In the end the ConTeXt
domain and task specific modules and styles are (and will become)
+
group is the place to get more information.
available. These can be recognized by their filename that start with a
 
character followed by a dash.  
 
  
'''[2.6]'''  For special purposes, not covered by existing functionality,
+
=== Recommendations ===
users can write their own extensions. ConTeXt provides hooks into the
 
core routines. These are documented in the source code.
 
  
'''[2.7]'''  ConTeXt is available for free for everyone who want to use
+
Here are a few recommendations in case you want to distribute, extend of embed
it. Distributors are free to choose between the latest official
+
ConTeXt in applications:
release and the (in most cases stable) beta version.
 
  
'''[2.8]'''  Experimental, and thereby potentially non-stable, versions as
+
*  You can best leave the code base untouched. Most of ConTeXt provides hooks and it's relatively easy to overload code. Leave the lower level system code untouched: changes may backfire when you update. Asking for more hooks is the best way to go.
well as certain dedicated modules, will be distributed under different
 
conditions.  
 
  
'''[2.9]'''  Modules to ConTeXt or adapted source code written by Pragma ADE
+
*  Put your own code in the right subpaths, i.e. modules approved by the development team under <tt>.../third</tt>, and styles and whatever else under <tt>.../user</tt>. This way your code will not interfere with existing code and updating will give less problems. Keep in mind that TeX systems have their own way and order in locating files, and the load order often matters.
for third parties as part of a project may not be distributed outside
 
that organization. They may become part of the public distribution,
 
upon mutual agreement.
 
  
=== Public version ===
+
*  Don't copy styles and change a few lines, but load the base one and built/patch on top of that. In the end you may benefit from improvements to the base style.
  
'''[3.1]'''  ConTeXt is available as free software in the spirit of the gnu
+
*  Be original. The whole idea behind ConTeXt is that you can write your own styles. On the ConTeXt mailing list as well as on the Wiki there are enough advanced users to help you make a start.
general public licence.
 
  
'''[3.2]'''  This public version is the "official public ConTeXt
+
*  Don't hesitate to submit bugs reports and ask for extensions. It may even be that what you want is already present but yet undocumented.
distribution". However, ConTeXt as part of one of the TeX
 
distributions supported by user groups can also be classified as
 
official.  
 
  
'''[3.3]'''  The official version (i.e. the original zipped archive
+
*  If things don't work as expected, check to what extend your system matches the (more or less) standard. We provide so called minimal ConTeXt trees that can serve as a reference. Because ConTeXt evolves, make sure your system is up to date. The ConTeXt garden provides ways to install and update the standard distribution.
recognized by the prefix cont-) may only be redistributed as a whole
 
and under this licence.  
 
  
'''[3.4]'''  This licence does not automatically apply to third party
+
*  The scripts can best be called using <tt>mtxrun</tt>. This lessens dependencies on the location in the tree and ensures upward compatibility. It also prevents clashes with similar scripts.
extensions.
 
  
=== Third party developments ===
+
*  Some scripts depend on each other. Don't mess around with the existing functionality and names of the scripts and then feed them back into the standard distributions.
  
'''[4.1]'''  This sections will not introduce limitations in use that
+
=== Documents ===
conflict with the gnu general public licence. We only want to make
 
sure that the average user will get the ConTeXt they expect and that
 
we can continue to support users efficiently.
 
  
'''[4.2]'''  Users are encouraged to develop modules cq. layout definition
+
The documentation is provided under another Creative Commons licence:
files for ConTeXt. However, the interface of such modules should fit
 
the general scheme philosophy.
 
  
'''[4.3]'''  Keywords and command names should conform to the already defined
+
<div style="color:gray;">
ones and therefore not clash with existing functionality. An example
+
:Attribution NonCommercial ShareAlike
of extending the user interface can be seen in the ppchTeX
+
</div>
module.
+
This one says:
  
'''[4.4]'''  On request, additional keywords and command names can be
+
<div style="color:gray;">
approved and/or assigned by the ConTeXt Task Force and, when accepted,
+
You are free:
will be added to the validated definition files. The same applies to
+
* to copy, distribute, display, and perform the work
the names of files and auxiliary variables. These should conform to
+
* to make derivative works
the naming scheme laid down in the documentation.
 
  
'''[4.5]'''  Third party modules (and layout files) will not automatically
+
ATTRIBUTION: You must attribute the work in the manner specified by the author or licensor.  
become part of the ConTeXt distribution, but will be collected and
 
distributed separately. One reason for this is that they fall outside
 
the maintainance responsibility of Pragma ADE. This also means that
 
for instance in the texmf directory structure, the context/base,
 
context/extra and context/sample locations are reserved for the
 
official distribution. Additions should go into context/third and user
 
specific things into context/user.  
 
  
'''[4.6]'''  We strongly advice users who write their own macros for ConTeXt,
+
NONCOMMERCIAL: You may not use this work for commercial purposes.  
to package them in document specific environments or third party
 
modules (prefixed by t-).  
 
  
'''[4.7]'''  Users may not change the official distribution and redistribute
+
SHARE ALIKE: If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one.  
that changed version as official. This will ensure the integrity of
 
ConTeXt. Local settings cq. bug fixes can be added in the files
 
cont-sys and cont-new. Distributers may add configuration settings to
 
cont-usr and cont-sys.
 
  
'''[4.8]'''  When adapted versions of ConTeXt are distributed, these versions
+
* For any reuse or distribution, you must make clear to others the license terms of this work.  
must contain the original distribution as a separate item. The runtime
+
* Any of these conditions can be waived if you get permission from the copyright holder.  
versions (format files) must have different names and changed files
 
must have an additional \writestatus message, expressing that
 
something is changed. The rationale behind this is that some modules
 
are generic, and are sometimes distributed on request separately. When
 
distributing self contained modules and styles, a full distribution of
 
originals is not required.  
 
  
'''[4.9]'''  Because many TeX systems support recursive directory search,
+
Your fair use and other rights are in no way affected by the above.  
those who write extensions or change files, must make sure that the
+
</div>
original ConTeXt does not suffer from loading the wrong files. We
 
realize that this is not always easy, but please keep in mind that
 
there are many users who cannot sort out these problems. Together we
 
must guarantee that when users want to run original ConTeXt, nothing
 
unexpected is loaded, because it makes support nearly
 
impossible.
 
  
'''[4.10]'''  Because ConTeXt is a monolithic system, and because programming
+
If you distribute ConTeXt and related software on electronic media as part of
hooks are provided, adaptations and extensions should be put and/or
+
TeX distributions (either or not for money), you may also distribute the
loaded in the file cont-new which itself is loaded at run time. That
+
manuals and their sources in electronic form, preferable as provided by the
way, users can still benefit from official updates.  
+
maintainers of ConTeXt.
  
'''[4.11]'''  The auxiliary programs may be adapted to local conditions, such
+
Keep in mind that logos and cover designs are not meant to be copied. We provide
as operating systems specifics. The functionality however must not be
+
the source code for some manuals, but we don't always provide all graphics and
changed.  
+
other resources. For instance, in some manuals we use commercial fonts and you
 +
have to buy those yourself.
  
'''[4.12]'''  The same rules apply for the METAPOST macro files as for the
+
We provide the typeset manuals at our website. Those are the official ones. We
TeX macro files.  
+
appreciate it if you do not to distribute manuals compiled on your own system as
 +
substitutes. The manuals are a showcase for what ConTeXt provides. Help us to
 +
assure the quality.
  
'''[4.13]'''  Support of the official public version of ConTeXt is available
+
=== More information ===
from the ConTeXt mailing list hosted by the ntg.
 
  
=== Manuals ===
+
We're not going to fill ''n'' pages with legal stuff, so if you want to
 +
know more, you have to consult the web for the legalities mentioned. Here are a
 +
few starting points:
  
'''[5.1]'''  User manuals, reference documentation, module related manuals,
+
http://creativecommons.org/licenses/GPL/2.0/ <br>
quick reference guides, up-to-date documents, faqs, documented
+
http://creativecommons.org/licenses/GPL/2.0/legalcode
sources, are available in printable and/or electronic form at the
 
Pragma ADE site and its mirrors. These documents are copyrighted by
 
Pragma ADE and serve as reference to the official version. You may
 
print them and give away copies.  
 
  
'''[5.2]''' Users are invited to provide
+
http://creativecommons.org/licenses/by-nc-sa/2.5/ <br>
additional documentation to users. The official documentation provided
+
  http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode
by Pragma ADE is maintained by and generated at Pragma ADE and
 
available at its website. Pointers to third party contributions can be
 
found at the Pragma ADE website.
 
  
'''[5.3]'''  Because the manuals provided by Pragma ADE are also examples of
+
ConTeXt itself can be fetched from the main site or the garden:
what can be done with ConTeXt, their layout is bound to these
 
documents. This also applies to the ConTeXt demonstration
 
suite. Therefore, in order to avoid confusion, we strongly advice
 
authors of third party documentation and demos not to use the same
 
layout characteristics, graphics and special tricks. Examples of
 
coding and tricks can be found in the style files that come with
 
ConTeXt.
 
  
=== Guarantees ===
+
http://www.pragma-ade.nl <br>
 +
http://context.aanhet.net
  
'''[6.1]'''  Pragma ADE cannot guarantee the typographic quality and the
+
These always ship the latest versions. Alternatively you can install the whole
functionality of the ConTeXt output.
+
TeX distribution, which is a yearly snapshot:
  
'''[6.2]''' Typographic optimizations will be implemented and wishes
+
  http://www.tug.org/texlive
cq. suggestions of users will be be honoured when possible. The best
 
way to communicate this is the ConTeXt mailing list.  
 
  
'''[6.3]'''  When additional functionality is provided, downward
+
A starting point for support can be found at:
compatibility will be guarded as good as possible.
 
  
'''[6.4]'''  Users of experimental modules should be aware of the fact that
+
http://www.ntg.nl/mailman/listinfo/ntg-context <br>
due to further optimization and consistency, the functionality will
+
http://contextgarden.net
only be stable when explicitly stated. The common user will hardly
 
notice this limitation.  
 
  
'''[6.5]'''  Some core modules can be classified as generic, that is, they
+
And of course there is the ConTeXt group:
work with other macro packages as well (for instance supp-pdf). You may
 
install them separately on your system, but in order to prevent
 
conflicts in versions, we strongly advice separating them from the
 
distributions.
 
  
'''[6.6]'''  Undocumented macros and functionality are subjected to
+
http://group.contextgarden.net
optimizations and relying on their presence can be "dangerous".
 
  
=== Distribution ===
+
Bugs and feature requests can be registered at the collector:
  
'''[7.1]''' The official ConTeXt archive is available at the Pragma ADE www
+
  http://tracker.luatex.org
site, as well as on mirrors of this site, provided by the ntg, ctan,
 
and others. The free TeX distributions teTeX and fpTeX can be
 
considered as a references to integrating ConTeXt into other TeX
 
systems.  
 
  
'''[7.2]'''  We hereby grant permission to the de facto official TeX
+
Releases are announced at:
distributors teTeX, fpTeX and TeXlive to replace this licence with
 
their own, i.e. their licence may supersede or enhance this one.
 
  
 +
http://www.ntg.nl/mailman/listinfo/ann-context
  
'''[7.3]'''  ConTeXt may be distributed as part of a public distribution in
+
The developers can be met at:
the spirit of free distributions. The authors of ConTeXt appreciate
 
being notified on this.
 
  
'''[7.4]'''  Each distribution of ConTeXt should include a copy of this text.
+
http://www.ntg.nl/mailman/listinfo/dev-context
  
=== Additional disclaimers ===
+
=== Disclaimer ===
  
Because we don't want to be confronted with funny claims as a side
+
To play safe we include a disclaimer here, taken from the BSD style licence. For
effect of providing free software, we add a few disclaimers.  
+
some reason such a text is always in unreadable capitals, so ...
  
'''[8.1]'''  By modifying or distributing the program (or any work based on
+
<div style="color:gray;">
the program), you indicate your acceptance of this license to do so,
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR “AS IS” AND ANY EXPRESS OR
and all its terms and conditions for copying, distributing or
+
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
modifying the program or works based on it. Nothing other than this
+
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
license grants you permission to modify or distribute the program or
+
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
its derivative works. These actions are prohibited by law. If you do
+
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
not accept these terms and conditions, do not modify or distribute the
+
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
program.
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 +
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 +
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 +
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 +
</div>
  
'''[8.2]'''  The program is provided to you "as is", without warranty. There
+
... and don't bother discussing licence issues and related things with us
is no warranty for the program, either expressed or implied,
+
for the mere sake of discussing licence stuff.
including, but not limited to, the implied warranties of
 
merchantability and fitness for a particular purpose and
 
noninfringement of third party rights. The entire risk as to the
 
quality and performance of the program is with you. should the program
 
prove defective, you assume the cost of all necessary servicing,
 
repair or correction.  
 
  
'''[8.3]'''  In no event unless required by applicable law or agreed to in
+
: Hans Hagen
writing will licensor, or any other party who may modify and/or
+
: PRAGMA Advanced Document Engineering
redistribute the program as permitted above, be liable to you for
+
: Hasselt NL
damages, including any general, special, incidental or consequential
 
damages arising out of the use or inability to use the program
 
(including but not limited to loss of data or data being rendered
 
inaccurate or losses sustained by you or third parties or a failure of
 
the program to operate with any other programs), even if such holder
 
or other party has been advised of the possibility of such damages.
 
  
  
: PRAGMA
+
[[Category:Development]]
: Advanced Document Engineering
 
: Ridderstraat 27
 
: 8061GH Hasselt NL
 
: tel: +31 (0)38 477 53 69
 
: email: [mailto:pragma@wxs.nl pragma@wxs.nl]
 
: internet: [http://www.pragma-ade.com www.pragma-ade.com]
 

Latest revision as of 09:56, 1 July 2022

What follows is the text from mreadme.pdf, adapted to wiki markup.

This page is generated from mreadme.pdf on 2019.02.04.

Read Me First

Introduction

What licence suits best for a TeX like system is a matter of taste. Personally we dislike any licence that needs more than a few pages of dense legal code to get the message across. A TeX related system like ConTeXt is a hybrid of programs, scripts and/or macro code as well as documentation and sample code, including graphics. TeX related systems also have a long standing tradition of providing support structures for users. In order to make support feasible, a TeX based system like ConTeXt assumes a certain logic and structure in the way the related files are named and organized in a tree structure. Even a small change in one of the elements may let such a system behave differently than manuals suggest. Swap a font, change some style defaults, leave out some pieces, and users may end up in confusion. A licence does not give a user any guarantees!

In order to satisfy those responsible for distributing ConTeXt, we need to choose a licence that makes them feel comfortable. Unfortunately we don't feel that comfortable with a licence that does not provide the guarantees that a system will not be adapted in such ways that the advertised behaviour changes. On the other hand, it is the responsibility of those distributing and extending the system to make sure that this does not happen. However, users should not automatically assume that what they get shipped is the same as the original, which is why we stress that support (from our side) will only be given on unaltered systems.

First of all, what is ConTeXt? It's just a bunch of macros, written in TeX and MetaPost, meant for typesetting documents. The macros are accompanied by some scripts, written in Perl (mainly the older scripts) Ruby (also older ones) and Lua (the current fashion). The ConTeXt distribution comes with a few fonts, files that help manage resources (e.g. map files needed for MkII), as well as patterns (based on official ones, so this is a derived work).

The ConTeXt distribution is packaged in a zip file organised in the TDS structure.

cont-tmf.zipthe main distribution that has all relevant files
cont-tst.7za bunch of test files that can also serve as examples
cont-mpd.zipa MetaPost to PDF converter (not needed in ConTeXt)
cont-ppc.zipa macro package for typesetting chemistry (not needed in ConTeXt)
cont-sci.zipconfiguration files for using ConTeXt in the SciTE editor

There are two flavours of ConTeXt: MkII and MkIV. The first one is frozen and will not be extended. It runs on top of PdfTeX or XeTeX. The MkIV version is actively developed and runs on top of LuaTeX (an engine that is developed alongside ConTeXt but that can also be used for other macro packages).

The documentation can be downloaded from our website or the Wiki. Some manuals ship with source code. We might ship more source code but only when the source is stable and clean and can serve as an example.

That said, what licence does apply? We need to distinguish between things that resemble a program on the one hand and documentation on the other hand. We (currently) use a different licence for either of them.

The Code

The program code (i.e. anything not under the /doc subtree) is distributed under the

Creative Commons GNU GPL

For practical purposes distributers may also choose the LaTeX project licence, which is considered to be a bit more TeX friendly. (BSD alike licences also apply well for ConTeXt.)

In practice, users may forget about the legal part, if only because I haven't even read (and understood) it completely myself, so let's stick to what Creative Commons makes of it:


The GNU General Public License is a Free Software license. Like any Free Software license, it grants to you the four following freedoms:

  • The freedom to run the program for any purpose.
  • The freedom to study how the program works and adapt it to your needs.
  • The freedom to redistribute copies so you can help your neighbour.
  • The freedom to improve the program and release your improvements to the public, so that the whole community benefits.

You may exercise the freedoms specified here provided that you comply with the express conditions of this license. The principal conditions are:

You must conspicuously and appropriately publish on each copy distributed an appropriate copyright notice and disclaimer of warranty and keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of the GNU General Public License along with the Program. Any translation of the GNU General Public License must be accompanied by the GNU General Public License.

If you modify your copy or copies of the program or any portion of it, or develop a program based upon it, you may distribute the resulting work provided you do so under the GNU General Public License. Any translation of the GNU General Public License must be accompanied by the GNU General Public License.

If you copy or distribute the program, you must accompany it with the complete corresponding machine-readable source code or with a written offer, valid for at least three years, to furnish the complete corresponding machine-readable source code.

Any of these conditions can be waived if you get permission from the copyright holder.

Your fair use and other rights are in no way affected by the above.

Many source filed mention the ConTeXt Development Team as copyright holder. This is because over time users submit patches and whenever something happens to the main author, those involved in development can take over without the need to bother about derived work. In the end the ConTeXt group is the place to get more information.

Recommendations

Here are a few recommendations in case you want to distribute, extend of embed ConTeXt in applications:

  • You can best leave the code base untouched. Most of ConTeXt provides hooks and it's relatively easy to overload code. Leave the lower level system code untouched: changes may backfire when you update. Asking for more hooks is the best way to go.
  • Put your own code in the right subpaths, i.e. modules approved by the development team under .../third, and styles and whatever else under .../user. This way your code will not interfere with existing code and updating will give less problems. Keep in mind that TeX systems have their own way and order in locating files, and the load order often matters.
  • Don't copy styles and change a few lines, but load the base one and built/patch on top of that. In the end you may benefit from improvements to the base style.
  • Be original. The whole idea behind ConTeXt is that you can write your own styles. On the ConTeXt mailing list as well as on the Wiki there are enough advanced users to help you make a start.
  • Don't hesitate to submit bugs reports and ask for extensions. It may even be that what you want is already present but yet undocumented.
  • If things don't work as expected, check to what extend your system matches the (more or less) standard. We provide so called minimal ConTeXt trees that can serve as a reference. Because ConTeXt evolves, make sure your system is up to date. The ConTeXt garden provides ways to install and update the standard distribution.
  • The scripts can best be called using mtxrun. This lessens dependencies on the location in the tree and ensures upward compatibility. It also prevents clashes with similar scripts.
  • Some scripts depend on each other. Don't mess around with the existing functionality and names of the scripts and then feed them back into the standard distributions.

Documents

The documentation is provided under another Creative Commons licence:

Attribution NonCommercial ShareAlike

This one says:

You are free:

  • to copy, distribute, display, and perform the work
  • to make derivative works

ATTRIBUTION: You must attribute the work in the manner specified by the author or licensor.

NONCOMMERCIAL: You may not use this work for commercial purposes.

SHARE ALIKE: If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one.

  • For any reuse or distribution, you must make clear to others the license terms of this work.
  • Any of these conditions can be waived if you get permission from the copyright holder.

Your fair use and other rights are in no way affected by the above.

If you distribute ConTeXt and related software on electronic media as part of TeX distributions (either or not for money), you may also distribute the manuals and their sources in electronic form, preferable as provided by the maintainers of ConTeXt.

Keep in mind that logos and cover designs are not meant to be copied. We provide the source code for some manuals, but we don't always provide all graphics and other resources. For instance, in some manuals we use commercial fonts and you have to buy those yourself.

We provide the typeset manuals at our website. Those are the official ones. We appreciate it if you do not to distribute manuals compiled on your own system as substitutes. The manuals are a showcase for what ConTeXt provides. Help us to assure the quality.

More information

We're not going to fill n pages with legal stuff, so if you want to know more, you have to consult the web for the legalities mentioned. Here are a few starting points:

http://creativecommons.org/licenses/GPL/2.0/ 
http://creativecommons.org/licenses/GPL/2.0/legalcode
http://creativecommons.org/licenses/by-nc-sa/2.5/ 
http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode

ConTeXt itself can be fetched from the main site or the garden:

http://www.pragma-ade.nl 
http://context.aanhet.net

These always ship the latest versions. Alternatively you can install the whole TeX distribution, which is a yearly snapshot:

http://www.tug.org/texlive

A starting point for support can be found at:

http://www.ntg.nl/mailman/listinfo/ntg-context 
http://contextgarden.net

And of course there is the ConTeXt group:

http://group.contextgarden.net 

Bugs and feature requests can be registered at the collector:

http://tracker.luatex.org

Releases are announced at:

http://www.ntg.nl/mailman/listinfo/ann-context

The developers can be met at:

http://www.ntg.nl/mailman/listinfo/dev-context

Disclaimer

To play safe we include a disclaimer here, taken from the BSD style licence. For some reason such a text is always in unreadable capitals, so ...

THIS SOFTWARE IS PROVIDED BY THE AUTHOR “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

... and don't bother discussing licence issues and related things with us for the mere sake of discussing licence stuff.

Hans Hagen
PRAGMA Advanced Document Engineering
Hasselt NL