taskSavannah Administration - Tasks: task #11662, Submission of BLACK (Big Linker,...

 
 

task #11662: Submission of BLACK (Big Linker, Assembler and Compiler Kit)

Submitter:  Paulo H. Torrens <takanuva>
Submitted:  Tue 20 Dec 2011 02:13:21 AM UTC
   
 
Should Start On:  Tue 20 Dec 2011 12:00:00 AM UTC Should be Finished on:  Fri 30 Dec 2011 12:00:00 AM UTC
Category:  Project Approval Priority:  * 5 - Normal
Status:  Done Privacy:  Public
Assigned to:  xenu Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Fri 23 Dec 2011 10:44:18 PM UTC, comment #13: 

Sorry, Savannah currently doesn't support server-side scripting for its users.

Merry Christmas!

Tomasz Konojacki <xenu>
Thu 22 Dec 2011 11:36:27 PM UTC, comment #12: 

So, I think I might change it a little bit: I may put GPL on COPYING, LGPL on COPYING.LESSER, and instead of doing some exceptions, I could use the MIT license for the runtime libraries... I'll think about it.

I'm not sure if I should ask it here (probably not), but I'll give it a try: on the web page hosting, is there any dynamic page languge available? I rather use CGI for that (usually I write even web pages in C, but well), or PHP, Python, Ruby, or anything? I kinda need something like that (which otherwise I'll have to make with AJAX and an external host) to make documentation (search and stuff) and an "on-demand compiler" function I intend to use: as any guest can generate code for any host (in Autoconf' terms), I will put a feature on the site to make small compilers for the user's need: select the input language, machine code and object type (e.g., c++-x86-elf-linux) and the page will generate a single executable file which will do the desired work (instead of having the user download the full source code for everything he doesn't need), which will be much smaller because of elimination of dead code which would be used by other languages/platforms.

Paulo H. Torrens <takanuva>
Wed 21 Dec 2011 01:21:59 AM UTC, comment #11: 

I wanted to answer about the COPYING file.  There are no absolute legal or savannah requirements about this, but I strongly think it is clearest for users that if a COPYING file exists that it be, exactly, a copy of the GPL (v2 or v3 as used).  I have seen a lot of confusion as a result of people doing something else.

I understand you have a more complicated situation, and that is fine.  I would only ask (not a requirement, like I said) that you describe it in a file called anything other than COPYING -- for example, LICENSE would be a much better name IMHO :).

Nest,
Karl

Karl Berry <karl>
Site Administrator
Tue 20 Dec 2011 11:29:25 PM UTC, comment #10: 

Expansion on that: it is legally best and safest to use your legal name in the copyright statements.  But, as a matter of Savannah policy, we don't mind if you use "xxxx project" or whatever; some projects do this.  Just be aware that if anything legally serious ever happens, it could have undesirable consequences for you.

Happy hacking.

(Tomasz -- this came up with one of Eric Raymond's projects, and we asked the FSF, who said the above.)

Karl Berry <karl>
Site Administrator
Tue 20 Dec 2011 10:24:02 PM UTC, comment #9: 

Only legal entity can be copyright holder, which means that it has to be your name. Happy hacking!

Tomasz Konojacki <xenu>
Tue 20 Dec 2011 09:19:23 PM UTC, comment #8: 

Thaaaank you! =D

Yeah, most of the code will be LGPL, with, maybe, some exceptions, but those must be NewBSD, MIT, or some compatible permissive license.

I'll correct everything before publishing a tarball.
I'm kinda excited. =D


Just another quick question: do the copyright has to be on my name, or could I just use "BLACK Project" instead?

Paulo H. Torrens <takanuva>
Tue 20 Dec 2011 06:58:51 PM UTC, comment #7: 

Okay, I think it's right use of COPYING file. Just make sure that your project will include only GPL-compatible code and please add license headers to all non-derived source code files (and makefiles etc.) with more than 10 lines of code.

I'm accepting your project, welcome on board! :)

Tomasz Konojacki <xenu>
Tue 20 Dec 2011 06:16:46 PM UTC, comment #6: 

Exceptions as stated on the headers; as this is a compiler project, and (L)GPL as written primarely for C, I intend to write there explanations about terms of other languages, such as the MGPL used in GNAT (conserning about Ada's generics, which don't fall on the license), and of the libraries needed by the languages (e.g., the Objective-C compiler generates code which use libX, which will be saved at src/rtl/X, as a especial exception, libX will not fall under the terms of the license, and may be used on comercial applications, even if statically linked, something link GCC libraries special exceptions). Along with the libraries, standard generated code (like the ones which Bison uses) will not be under the project licenses. My intention's to explain those details on COPYING, as I said before.

The compiler project and its libraries will all be LGPL, but this cannot hold true to the code needed for the compiled programs to run.




Well, I rather don't copy the GPL to it and make it a separate file on doc/GPL for esthetical reasons (to avoid COPYING, COPYING.LESSER and COPYING.EXCEPTIONS, all with different formatting patterns from the rest of the project), if you allow me to. Otherwise, I'll do as stated and create the three files.

Paulo H. Torrens <takanuva>
Tue 20 Dec 2011 06:07:31 PM UTC, comment #5: 

The question is - what do you mean by "exceptions"? Could you give example? Also, I really think that the best idead would be putting full GPL text into COPYING file.

Tomasz Konojacki <xenu>
Tue 20 Dec 2011 05:44:09 PM UTC, comment #4: 

I see; I didn't find an example of LGPL header, the GNU site only stated with the common GPL, so the word "lesser" is missing from my headers... ok, changing it, also adding the default copyright notice (copyright (c) dates, name).


Yet, would COPYING be accepted if it was something like this:



1. License
This project is licensed under GNU Lesser General Public License, which can be found at:
  doc/LGPL
Or:
  <http://www.gnu.org/licenses/lgpl.txt>
Which is a complement to the GNU General Public License, which is at:
  doc/GPL
Or:
  <http://www.gnu.org/licenses/gpl.txt>

2. Exceptions
Blablabla...



In order to keep the same pattern of the other text files?
Otherwise I'll copy GPL to it and make a COPYING.LESSER.

After getting an answer, I'll upload the new tarball. Thanks.

Paulo H. Torrens <takanuva>
Tue 20 Dec 2011 04:12:10 PM UTC, comment #3: 

Using COPYING file containing full license text is widely accepted standard. If you are using it for something else, you will confuse users.

We require that LGPL headers should look like this:

--- beginning of header ---

Copyright (c) year1, year2, year3 John Smith

This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.

--- end of header ---

This helps to avoid confusion for the people who are reading code. If you have more questions, feel free to ask :)

Tomasz Konojacki <xenu>
Tue 20 Dec 2011 12:44:50 PM UTC, comment #2: 

Some questions...

"In GNU programs the license is usually in a file called COPYING.", is this mandatory? I haven't written COPYING yet, but it will mostly contain data about the exceptions and terms about another programming languages (such as Ada's generics), and state that the complete license is at doc/GPL and doc/LGPL (files which are already in the tarball).

What is wrong with the licensing headers? Is it the copyright dates, the word "copyright" itself, or anything else?

Paulo H. Torrens <takanuva>
Tue 20 Dec 2011 12:26:47 PM UTC, comment #1: 

Hi Paulo!

Thanks for your submission :) There are few problems with your tarball:

1. COPYING file is empty, if you are using LGPLv3 it should contain GPLv3 text (you can find it here: http://www.gnu.org/licenses/gpl.txt) and file COPYING.LESSER should contain LGPv3 text (it is here: http://www.gnu.org/licenses/lgpl.txt).
2. Not all source files contain copyright header, every non-derived file with more than ten lines of code should contain it.
3. If you are using LGPL, your licensing headers aren't right, please read http://www.gnu.org/licenses/gpl-howto.html

After you will fix these problems your project will be accepted, please upload new tarball here.


Tomasz Konojacki <xenu>
Tue 20 Dec 2011 02:13:21 AM UTC, original submission:  

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves or discards the registration.


Registration Administration


While this item will be useful to track the registration process, approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators, effectively logged as site administrators (superuser):



Registration Details


  • Name: BLACK (Big Linker, Assembler and Compiler Kit)
  • System Name:  black
  • Type: non-GNU software & documentation
  • License: GNU Lesser General Public License





Description:

This project is intended to be a highly modularized compiler toolchain. It is intended to be all written in ANSI/ISO C1X (besides of the runtime libraries for some language), in order to ease the bootstrap. The project was started after several fights agains GCC for cross-compiling purposes: it is really hard to get them to work, and they occupy a lot of extra disk space. BLACK is being developed in order to keep each stage apart in separate programs sharing some common libraries and working as a pipe. For exemple, a usage could be "cat input | b.cpp | b.cc | b.x86 | b.elf --linux | tee output". The intention behind this is to create a possible minimalistic system (i.e., you just have the have the programs you'll use), but yet complete (if you need to; if you want to compile programs for Windows too, having the previous example, you would just have to compile/download a hypotetical "b.pe32"). This usage also enables the usage of external programs in the middle of the compilation process easely. A front-end "xcc" (cross compiler collection) is proposed to help. Another advantage of the archtecture is that, using the common libraries but yet making separate programs, adding new languages or platforms will be easier: we already have a x86 assembler and an elf linker, we just need to use the same API of the C compiler to write a Ruby compiler, for example, and it will automatically be able to use the assembler and linker facilities. Yet another advantage of the common ("symbolic", in the project's terms) libraries with a common API is the ability to create programs "on-demand": any language front-end may be compiled with any linker back-end into a small unique application, depending on the user's need.


Other Software Required:

In order to keep portability, one of the project's goals is not to have any external dependency.


Other Comments:

The project's still on early development stage, although analysis was already done.


Tarball URL:

http://savannah.gnu.org/submissions_uploads/BLACK.tar.gz


Paulo H. Torrens <takanuva>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by karl (Posted a comment)
  • -email is unavailable- added by xenu (Posted a comment)
  • -email is unavailable- added by takanuva (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-12-20 xenu StatusIn Progress Done
        Percent Complete0% 100%
        Open/ClosedOpen Closed
    2011-12-20 xenu StatusNone In Progress
        Assigned toNone xenu

    Back to the top

    Powered by Savane 3.13-758e.
    Corresponding source code