Read Me

From Wiki
Jump to navigation Jump to search

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