Skip to content
FellowTraveler edited this page Apr 3, 2011 · 19 revisions

Open Transactions is quickly turning into a family of components:

NAME: Xml-OTC — A file format……….LICENSE: GNU Free Documentation License ? Unlicense? RFC?
NAME: Xml-OTX — A messaging protocol…LICENSE: GNU Free Documentation License ? Unlicense? RFC?
NAME: OTTP — A URI format………..LICENSE: GNU Free Documentation License ? Unlicense? RFC?
NAME: OTLib — A class library……..LICENSE: LAGPLv3
NAME: OT-API — A Client API………..LICENSE: LAGPLv3
NAME: OT-Server — A Server Application…LICENSE: AGPLv3
NAME: testwallet — A command-line client..LICENSE: LAGPLv3
NAME: *OT-TestGUI
— A Java Client App……LICENSE: GPLv3
-————————————————————-

Xml-OTX and Xml-OTC will be described by an as-yet-unwritten RFC (I guess.)
OTLib is the core foundational library of C++ classes. It doesn’t include any transport code, server code, or client code.
The OT-API implements the client side of the Xml-OTX protocol, as a C++ class or as a set of C functions. (With wrappers for Ruby, Python, Php5, Perl5, Java, etc.)
The OT-Server (transaction.exe) is a software implementation of the server side of the Xml-OTX protocol.
Testwallet is a command-line test program — a software implementation of the client side of the Xml-OTX protocol.
The TestGUI is a Java client GUI that operates via the OT-API (in Java).

——————————————————————

Licenses

GPLv3: You are required to open-source your code if it links to this OT code, but only if you are distributing binaries of your own code. If you are instead running your code on your website only (so-called “software as a service”), and you are not distributing binaries, then you do not have to open-source your own code in order to link to this OT code.

LGPLv3: Whether you are distributing binaries, or “software as a service,” either way, you may use this library without having to open-source your code. However, if you are distributing binaries, and if you make any improvements to the OT library itself, then you must make those improvements publicly available (your own application code may remain private, but improvements to OT must be shared.)

AGPLv3: Even when you are not distributing binaries, but you are using this OT code in your site — “software as a service” — then your own code that links to it must be open-source as well. (Otherwise contact the developer for an alternate license.)

LAGPLv3: What is L-AGPL? It’s like LGPL combined with AGPL. Basically: even when you’re not distributing binaries, but you are using the OT-API in your website — “software as a service” — then your own code may remain private, but any improvements to the OT library or API code itself must be made publicly available. Just as the LGPL is now written as a set of additional permissions on top of GPL, so is the LAGPL written as a set of additional permissions on top of AGPL.

Clone this wiki locally