To contribute code here you first of all should create your personal page in Users. Then you MUST agree to use GNU GPLv3 as license for all your contributions to our project. Also you should know that we keep ALL copyrights to authors of contributed code and we will list EVERY contributor in credits for entire project.
So, why GNU GPLv3? GNU General Public License from the beginning of its existence gives some special rights to users of products covered by this license: right to use the product for any purposes, right to distribute copies of the product, right to modify the product, right to share your modifications to others and license requires that every user of the modified product should have the same rights. We chose this license to ensure you that Project 3niti is FREE and will be FREE! Also version 3 of this license gives you additional assurance that we will never use some tricks as patents or hidden hardware limitations to restrict somehow that rights.
Project 3niti is mostly HARDWARE project, so how GNU GPLv3 is applied to it? It's easy: we are using special "programming" language to describe schematics of our hardware elements and "programs" written in this language may be covered by this license.
To make process of development easier and more public we offer ability to edit and run schematics online - directly from our web-site. Schematics consists of some elements as functions and schemes and each of that elements presented as separate wiki-page from group Library (when contribution is accepted to be part of project) or group Users (when user creates or tests potential contribution).
Rules of creating schematic elements in wiki (see Library for examples):
- Name of such wiki-page should be in form [[Users/YourName-NameOfScheme]]; - 1st line of such wiki-page should be 2 characters [ and @ (open preformatted block); - 2nd line of such wiki-page should start with directive "def" (for function) or "sch" (for scheme); - Description at the end of 2nd line should have version, description itself and (if you wish) copyright notice where author (or authors) should be named in form of wiki-link to user main-page (for example "v1.0 Some interesting function (C) 2008 [[Users/YourName]]"); - Next line after directive "end" should be 2 characters @ and ] (close preformatted block); - All text outside preformatted block is not a program and may be used for extended descriptions or discussions.
As an option in case you do not want to claim copyright to your schematic element (because of its simplicity or obvious nature) you can omit copyright notice (only if you are original author of that schematic element). For example: "v1.0 Some free function" - in this case your work becomes "public domain" that can be used by anybody for any purpose.
If you modifying public domain program or program of somebody else (by copying its text to your page and adding or changing something in it) then you should add your copyright notice right after copyright notice of the original author:
"v1.0 Some interesting function (C) 2008 [[Users/Author]], (C) 2008 [[Users/YourName]]"
And we will care of version number if we decide to add your variant to the Library.
Rules for creating simulation test for schematic element in wiki:
- Name of such wiki-page should be in form [[Users/YourName-NameOfScheme-NameOfTest]]; - 1st line of such wiki-page should be (:include Library.HEADER:) that includes standard header with GPL notice and ternary alphabet; - Line with included scheme should be in form (:include YourName-NameOfScheme:) that includes your schematic element; - Between 1st line and your element all functions and schemes that is needed for your schematic to run should be included; - Rest of web-page should not have preformatted blocks and it is not a program and may be used for extended descriptions or discussions.
To use applet that will visually simulate your test just put
(:trimul Users.YourName-NameOfScheme-NameOfTest:)
to any of your wiki-pages.
ATTENTION: Do not create your schematics here if you do not agree with terms of GNU GPLv3!