COSIL

From New Open Cosmos Alliance
Jump to: navigation, search

What is COSI IL?

COSI IL is an open source specification for a language-neutral CIL (Common Intermediate Language) aimed primarily at the COSMOS (C# Open Source Managed Operation System) operating systems who are members of the Open Cosmos Alliance. This specification may also cover example or pseudo code written in C# as an implementation example. However the implementation of this document may be carried out in any way that the reader or developer wishes and it is stressed that this specification will be mainly platform neutral. This specification aims to be separate and non-interlinked to any other COSI related document. Any references to other elements of the COSI standard are for reference only and may be ignored within reason.

Why is COSI IL different from .NET and Java?

COSI IL is designed to be platform and language neutral and it may be implemented in any way the developer sees fit that keeps within the specification below. Parts of the specification are used as recommendations instead of requirements for specification to keep the different possible implementations new and unique. The COSI IL specification is an open source document and may NOT be:

  • Charged for
  • Copied without attribution
  • Shared under a different license specified other than the GNU Free Documentation License
  • Renamed

In addition to this any derivative work must be free and licensed under a shareware license (Preferably the GNU Free Documentation License). This does not mean the work has to be open source or have the source code released in any way. In addition to this, if you plan to use COSI IL for commercial use you must contact the OCA at opencosmosalliance@gmail.com or post on the discussion boards at http://cosmosalliance.tk/forum/forumdisplay.php?fid=15

Can I implement language X with a COSI IL compiler?

Yes! Because COSIL is language neutral you can implement your COSI IL compiler with any language you like within reason. Heck, you can even invent a completely new language that works in any way you want! Can I implement COSI IL for platform X? Yes! The OCA welcomes more people to implement COSI IL onto as many platforms as you possibly can. Because the way that you can implement COSI IL does not have to conform to a single way you can adapt COSI IL for your OS or programming language of choice, feel free to adapt any given examples to fit your platform. If the language you use for your implementation of COSI IL can cross-compile, please try and compile it for as many platforms as you can at once so that COSI IL can be spread more easily. You cannot however add extra commands. You cannot say your platform implements COSI IL until all of the commands are implemented, you may however use the term “partially COSI IL Compatible” until this restriction is met properly.

Can I help out or add to the specification?

Sure; in fact the more people, the better! If you do so wish our license allows you to create your own version of the document but if you wish to add to this official and vanilla one please contact the team at the address above. If you are creating a derivative, we require that you do not name it COSI IL, or anything ambiguously related to that term. If I plan on having a COSI compliant platform do I need to implement this? In short, no. The long answer however is that in order to be COSI 3b compliant you must implement all of the things included in this document. This specification is optional for full COSI compliancy, or alternatively COSI 3a can be implemented.

Why did you decide to create this standard, what are your aims?

At the beginning the OCA simply wished to have a way to run applications across COSI compliant platforms however slowly it has turned into more than that. Now the aim is to have a platform that allows applications to be ran anywhere, no matter which computer you use it on.

Who are the people who made this document?

The document was created by original members of the OCA who are credited below with their specific usernames and project operating systems:

  • Henry - Envy OS
  • Aurora - NoobOS
  • Plasmid - Plasmid OS (defunct)
  • 6677 - Shard OS
  • GruntTheDivine - GruntyOS

Don’t see your name here even though you helped? Send the alliance a message at the contact address and the OCA will sort it for you.