Read Me

From Wiki
Revision as of 21:13, 7 December 2005 by Patrick Gundlach (talk | contribs) (→‎Introduction: Formatting issues.)
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 2005.11.24.


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 accross. 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 feasable, 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 (the official ones) and Lua (for embedded usage). The ConTeXt distribution comes with a few fonts, files that help manage resources (e.g. map files), as well as patterns (based on official ones, so this is a derived work).

The ConTeXt distribution is packaged in a zip file organized in the tds structure.

cont-tmf.zip  The main distribution.
cont-img.zip  A few extra resources.
cont-ext.zip  Third party modules.

When we talk about ConTeXt we also mean its graphical companion MetaFun and foXet, an xml related product. All these are included in the main distribution archive. The documentation can be downloaded from our website, one of its mirrors, the TeX collection as distributed by TeX user groups. For some manuals, source code is available in a subversion repository. The archives are also kept on ctan.

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, the Ruby Licence and the Apache are all licences that 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.

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 scripts can best be called using texmfstart. This lessens dependencies on the location in the tree and ensures upward compatibility. It also prevents clashes with similary named 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.

The non-commercial part is mostly a safeguard. We don't mind if user groups distribute printed copies, publish (parts of) manuals and/or if authors use example code in manuals and books about 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 its primary mirror:

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

A starting point for support can be found at:

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

Bugs and feature requests can be registered at the collector:

http://context.literatesolutions.com

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 in 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.


PRAGMA
Advanced Document Engineering
Ridderstraat 27
8061GH Hasselt NL
tel: +31 (0)38 477 53 69
email: pragma@wxs.nl
internet: www.pragma-ade.com