SEAL Forum Index SEAL
The SEAL Forums
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

License issues

 
Post new topic   Reply to topic    SEAL Forum Index -> General
View previous topic :: View next topic  
Author Message
BadSector
Administrator


Joined: 24 Oct 2001
Posts: 328
Location: Greece, Samos

PostPosted: Mon Dec 22, 2003 9:15 am    Post subject: License issues Reply with quote

According to GNU GPL, every program that is linked, either dynamically or statically to a GNU GPL program, must be itself a GNU GPL program.

This is not good for a system like SEAL. SEAL itself has to be GNU GPL, except if *everyone* who wrote the code that is used in SEAL agrees to change it. For SEAL3/The Force this is me (since i wrote everything in SEAl3), but i prefer to leave SEAL as GNU GPL.

However, by having SEAL as a GPL we don't allow programs with GPL-incompatible licenses (for example those with the old BSD license or even worse, commercial ("propertiary") software) to be used with it. This happens because of the way that SEAL works: it dynamically links the program (or the library - apps and libraries are the same for SEAL) with itself. This, according to GNU GPL, makes the linked program and the SEAL, a unique work, thus forcing the program to be licensed under GNU GPL or a compatible license.

One of the reasons i wanted to ressurect SEAL3 was to bring a "bridge" between my commercial games from Slashstone and DOS (which is mostly used in older 486 and Pentium computers). So this licensing issue doesn't allow me (and others who may find SEAL as a similar bridge) to do that what i want.

In order to solve this problem we need a library which is licensed under GNU LGPL (which allows programs with any license to use it: (from LGPL) 5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
) and provides an interface to external libraries and programs, thus being a bridge between our GNU GPL code and "other license"-code. This interface should not use the "function call" method (f.e. providing pointers to functions inside SEAL), but a message exchaning mechanism. This also has three benefits:

a) the kernel will be able to change a lot of it's internal structure, without affecting external applications and libraries.
b) an application will be able to run in older and newer kernels or 'full' and 'light' kernels by checking if a specific feature is available through this interface.
c) we will conform GNU GPL


at the past, we broke many times the GNU GPL. I think that this should come to an end, if we want to be taken seriously by the free software community and make other FS developers to support our platform .

fore more information and ideas, take a look at this.

Also take a look again at the GNU GPL and GNU LGPL, for refreshing your knowledge. It's always a good idea when you work on them (personally i do it everytime i want to license a program of mine under GNU GPL).
[/url]
_________________
main(){printf("Hello, world!n"); return 0;}
Bad Sector - http://www.bsector.cjb.net/
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
biggyp



Joined: 16 Oct 2001
Posts: 1473
Location: England, United Kingdom

PostPosted: Mon Dec 22, 2003 10:13 am    Post subject: Reply with quote

this is another thing that i've been thinking about, and yes, the LGPL is a requirement for certain portions of the system if anyone wants to use non GPL apps, do you plan do use any of the old GPL'd seal2 sources, or just do everything from scratch?
_________________
http://www.theopencd.org/ - OpenSource for the Masses

Gallery

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
_xduffy_
Administrator


Joined: 15 Mar 2002
Posts: 894
Location: Sweden

PostPosted: Mon Dec 22, 2003 10:43 am    Post subject: Reply with quote

Why not lgpl the whole Seal source code?

No, really, why not?
_________________
http://xduffystuff.sourceforge.net/Desktop/
www.xduffy.com
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
BadSector
Administrator


Joined: 24 Oct 2001
Posts: 328
Location: Greece, Samos

PostPosted: Tue Dec 23, 2003 7:26 am    Post subject: Reply with quote

Yesterday i wrote BSTIL, Bad Sector's Transparent Interfacing Library. As the name says is a library that interfaces code. It's architecture has a client-server look, where the client is the code that needs to call a function and server is the code that provides the function.

Also i wrote the library in such a way that a server (or function provider, if you prefer) doesn't have to be in the same computer as the client. This allows me later to implement remote procedure calls (actually calling functions that resides on other computers). Of course this will require networking support, but let's have this feature ready (even if i'm sure that some things will need a change, because everything is in theory - except local computer calls, which has been tested).

Another thing (which could be tested, i think) is that a server doesn't have to run SEAL, but it can run DOS, Linux, Windows, BeOS, whatever (even a big endian computer can be used as long as bit orientation changes). This is because the client sends "messages" to the server and the server again responds with the result of the message.

There should be some problems though...

Right now i'm writting a parser for TID, Transparent Interface Description language. This is a small language that describes the interface and allows automatic creation of C code for an interface. The resulting code will have three files:

server.c : a caller function for the server (the caller function just calls the original functions) and a register function (registers the functions in BSTIL).
client.c : implements versions of the functions in server that calls CallFunction of BSTIL.
client.h : header for functions.

(well, the files will not be named server.c, client.c, client.h, ...)

The tid2c utility will be also used to parse to Free Pascal code, which will let us to similarly do:

server.pp : like server.c
client.pp : like client.c and client.h

Later can be used for other languages too (FORTRAN? A scripting language?) so we'll just have to make a single TID file in order to define interfaces for many languages.


BSTIL (which will include the TID parser) will be distributed as a separate package licensed under LGPL, so it will be able to be used with both GPL and non-GPL programs.


@biggyp:
i'll make everything from the scratch. SEAL 1.x/2.x are badly written (SEAL 2.x is actually a mess). However, as i said many times, i'll use The Force as a base, so some things like window functions, dynamic linking, application management and skinning are there. Graphically speaking, i'll have to implement fonts too (currenty TF uses Allegro's default fonts, but i have written many font routines). But for the beginning i want to focus on more important things.

@xduffy:
someone could make some changes to the source and make SEAL look like a library. Then (s)he could link the "library" to his own source and make the whole thing a commercial product. This, according to LGPL, is allowed, since SEAL will look like a library (and it's possible since every piece of code could be made as a library) and as a LGPL'd library will be able to be used in a non-GPL/LGPL product without having to distribute the source code (except the modified SEAL source, but that what we want is his/her source - and anyway this is just "not right").
_________________
main(){printf("Hello, world!n"); return 0;}
Bad Sector - http://www.bsector.cjb.net/
Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
crashfourit



Joined: 10 Dec 2003
Posts: 43

PostPosted: Tue Dec 23, 2003 8:55 am    Post subject: Reply with quote

BadSector: I really think you are on to somthing, keep it up!
_________________
"seal" must be in the subject line if you email me.
If you try to make something idiot proof, some one will come and make a better idiot.
Back to top
View user's profile Send private message Visit poster's website
Amos Vryhof
Administrator


Joined: 15 Oct 2001
Posts: 540
Location: United States

PostPosted: Sun Dec 28, 2003 7:30 pm    Post subject: On to something Reply with quote

BadSector has been onto something ever since Seal 1.0!

Face it, the man has talent, and he's the right one to push forward.

Good luck, and seeya again in the future!
_________________
Amos


[url=mailto:18238073@pager.icq.com]Msg@Home[/url]
[url=mailto:154644152@pager.icq.com]Msg@Work[/url]
Back to top
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger
brokndodge



Joined: 28 Dec 2003
Posts: 3

PostPosted: Tue Dec 30, 2003 9:51 pm    Post subject: Reply with quote

Good werk Bad Sector... I know I for one have never thought of the nuances of the gpl. just always used it. That is pretty swift finding a way around the gpl and improving SEAL3 functionality at the same time.

WTG

BroknDodge
Back to top
View user's profile Send private message Yahoo Messenger
biggyp



Joined: 16 Oct 2001
Posts: 1473
Location: England, United Kingdom

PostPosted: Fri Jan 02, 2004 8:49 pm    Post subject: Reply with quote

it certainly is nice to see that Kostas is taking licensing seriously(while his ways of thinking certainly aren't anything new), you should have seen the license that Callum and Julien came up with while SEAL2 wasn't GPL'd, basically you could do anything you wanted with the thing, even relicense it, just had to leave a note lying around somewhere mentioning the original authors, and they did that to protect their code more than the GPL?!

so, kostas, how's it going? any progress, it seems everyone else is planning SEAL3 without you at the moment.
_________________
http://www.theopencd.org/ - OpenSource for the Masses

Gallery

Back to top
View user's profile Send private message Send e-mail Visit poster's website Yahoo Messenger MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    SEAL Forum Index -> General All times are GMT - 7 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group