Talk:CSL

From OLPC
Revision as of 09:38, 27 November 2009 by Fasten (talk | contribs) (Proposal: License duration)
Jump to: navigation, search

Proposals

Proposal: License duration

A license could retain a value (in percent) of the remaining license duration. The common license duration could be ten years and the license would retain a recommended value of half its original price after five years (minus deductions for being out of date). This would allow to resell software licenses and would motivate people to purchase new licenses after an adequate duration.

Proposal: Licensor policies

Licensors can base their policies and/or code of conduct on ideas from the Seven Principles of Social Business. These do not really apply here but the general idea should be clear.

For instance:

  • Business objective will be to overcome poverty, or one or more problems (such as education, health, technology access, and environment) which threaten people and society; not profit maximization
  • Investors get back their investment amount only. No dividend is given beyond investment money

Proposal: Licensee policies

The CSL license could be revised to encourage licensors to demand Corporate Social Responsibility standards from licensees. A program could, for instance, be available for free to licensees with adequate CSR standards (and for very small enterprises) but would otherwise require a standardized "CSL minimum licensing fee".

Proposal: CSL Membership License

At a fixed annual cost access to all software under CSL Membership License could be made available. CSL-EDU could be a special case for education providers. This license would allow a community of users and programmers with open access, similar to the open source community.

Proposal: CSL-EDU

The CSL-EDU license would be a special license for education providers. At a fixed cost the education provider can license all software that is made available under the CSL-EDU license. Licensor and education provider can negotiate the cost according to published policies of the Licensor. The Licensor is responsible to provide a license management system that allows to distribute and revoke licenses for students conveniently and to make software released under the CSL-EDU compatible with the licensing scheme. Licensors who do not meet that criterion cannot sell site licenses for education providers.

Proposal: Modular design

This is not a license issue but a design recommendation. CSL programs can build on a freely available core but allow plugins, extensions or related programs (e.g. similar to Firefox or Eclipse plugins) under the CSL license. One would probably want an option in the CSL license to either allow or disallow commercial plugins under different licenses.

Proposal: CSL SDK license

A CSL SDK license could be a license to develop commercial plugins for a CSL-licensed program. This could be seen as a middle ground between trying to prohibit commercial plugins and allowing commercial plugins without restrictions. A CSL SDK license should have an annual licensing fee, possibly in percent of the generated revenue. A commercial vendor would always be free to make his plugins usable in a different container program but might lose the community around the CSL-licensed program.

An interesting consideration here may be: "If you accept a moral obligation to educate/motivate others, how much motivation are you willing to provide?" One could, for instance, make payment of the full license fee voluntary but revoke the license below a minimum threshold. The rationale is that a voluntary component is a precondition of free will, while the motivation appears to be a necessary response to poverty, consequently an intermediate position may be desirable (the free will of higher-order volitions, however, is likely to be the decision to make the voluntary contribution, not to use the resources to "do what you want").

The above statement may implicitly aim to make you observe that "many companies have sufficient opportunity to exert free will, especially the management, and that can hardly be the most relevant concern here", to which a communist AI would probably remark "Thank you (for that assessment)."

Proposal: Free license

CSL-licensed software can be made available for free. The interested licensee has to submit a 500 word essay explaining his eligibility with at least 5 relevant references to the categorical imperative. Participants can also win a cruise. The expectation is, of course, that most people will run into an argumentative dilemma.

Projects

Project proposal: Eclipse under CSL?

The EPL states "A Contributor may choose to distribute the Program in object code form under its own license agreement", which could be the CSL.

Examples:
  • An Eclipse-Jemacs hybrid might be a good idea. (See also: Eclipse Linux Tools, bug #8009) --fasten 19:02, 17 January 2009 (UTC)
  • A version of Eclipse with a special emphasis on teaching computer science might be useful for schools. --fasten 15:07, 8 February 2009 (UTC)

Project proposal: Software that is useful for OLPC

  • QNX, Sugar and Java/X++ as a CSL-licensed commercial distribution? (For instance with application monitoring written in Java) The distribution would, of course, not be attached to the XO hardware. --fasten 02:16, 31 January 2009 (UTC)

Project: Categorical Imp

Categorical Imp
A management program for categories defined in XML namespaces (according to the esp specification).
Maintainer: Bernhard Fastenrath
Version: 0.0
Next release: temporarily inactive
Donation strategy: free software but GPL+CSL-licensed to encourage CSL-licensed extensions.

The program will feature CSL-licensed extensions.

See: Categorical Imp Wiki @ sourceforge.net

Project: Assistant Teacher Program Workbench

Assistant Teacher Program Workbench
A management program for the Wikiversity assistant teacher program
Maintainer: Bernhard Fastenrath
Version: 0.0
Next release: temporarily inactive
Donation strategy: unicef.de donations (with online certificate), 95%

A management program for the Wikiversity assistant teacher program that can manage and schedule all necessary entities and events for the Wikiversity assistant teacher program. The free version will run the server code in the desktop program, which reduces the number of simultaneous users to one and doesn't allow to reduce the access rights of users. The language is Java.


Project: X++

X++
Synthesis of Java and C++ with IDE and integrated Wiki
Maintainer: Bernhard Fastenrath
Version: 0.0
Next release: temporarily inactive
Donation strategy: unicef.de donations (with online certificate), 95%

A language that combines C++, XML and Java with a simplified syntax. Releasing X++ (working title) under CSL could have the psychological effects of increasing awareness for the CSL and making CSL licensing a more natural choice. --fasten 12:30, 30 January 2009 (UTC)

Features:
  • The C++ object hierarchy is replaced with that of Java. All C++ methods are part of Java objects. C structs can be used and are accessible from Java (as in javolution)
  • All objects are partitioned into aspects. This isn't exactly aspect orientation but makes large objects more easily understandable. Refactoring on aspect level will be possible.
  • typedef for Java basic types (Request for enhancement was rejected by Sun).
  • IDE is designed with respect to psychological effects.
  • Wiki syntax (xwiki) for code documentation with qdox; alternative pure XML output format for templates; Java code embedded in templates (<java>...</java> for server side code and <script language="BeanShell"> for client side code) can be used to generate custom template output
  • Embedded command line interpreter that can control the IDE (with external script interface).
  • Argument passing with named arguments: r = f (c=1, b=2, a=3); can call a function wich is defined as f (a,b,c,).
  • Apache Maven project model as default.
  • JDKs: Apache Harmony, GNU GCJ/Classpath, Sun JDK
  • Should there be a new access type "shared" (like package access but for multiple packages)?
  • Precompiler will also be available for Eclipse and as a command line tool.
  • Profiler/debugger with extensible SQL database.
  • Annotations can contain debugger and profiler instructions.
  • Conditionally compiled debug code can control debugger and profiler from within the program.
The name "X++" is already used by Microsoft for a language that has similarities with C# and C++ but includes SQL syntax. [1] --fasten 12:37, 30 January 2009 (UTC)
Proposals for a new name are welcome. --fasten 11:55, 24 April 2009 (UTC)
Proposal: Jaxa --fasten 10:28, 10 November 2009 (UTC)

Comments