AFL is GPL incompatible, yatta.

Discuss the development of software, tools, libraries and anything else that helps make ps2dev happen.

Moderators: cheriff, Herben

Post Reply
pixel
Posts: 791
Joined: Fri Jan 30, 2004 11:43 pm

AFL is GPL incompatible, yatta.

Post by pixel »

--edit--

Hold on. I just catched that the license in ps2sdk is AFL2.0, not AFL1.1. I am still not a lawyer since 20 minutes, so, I'd go ask about AFL2.0 beeing GPL-compatible or not. And it seems it's still quite a huge discussion inside the FSF itself to determine of AFL is indeed incompatible or not.

--edit--
>> [pixel@nobis-crew.org - Thu Apr 21 08:37:28 2005]:
>>
>> Hello,
>>
>> I am currently a bit dazzeled by the whole page at
>> http://www.gnu.org/philosophy/license-list.html which states that, for
>> example, AFL is GPL-incompatible. What I am trying to understand is,
>> if I write a GPL software, I can't use any module in it (static
>> library or so) which is AFL ?


That's correct, whether the linking is static or dynamic, unless the
module is normally distributed with the major components of the
operating system on which your program runs. If you're the sole
copyright holder of the GPL software, you could grant an exception to
allow this -- please see the GPL FAQ for details.

-- -Dave "Novalis" Turner GPL Compliance Engineer Free Software Foundation
So, to sum up, softwares such as ps2link are illegal (they are even in violation of the GPL since it's linked dynamically with a GPL module (ps2eth), thus should be GPL itself anyway, now that I think about it)


Also, a software such as madplay can't be as well, since it's GPL code using AFL components. And any software made of any GPL libraries from the ps2sdk-ports directory are not good either (well, that's only freetype, ucl, and madplay; all the rest is okay).


Now we maaaaaaay fall on the "unless the module is normally distributed with the major components of the operating system on which your program runs" exception, since, well, the ps2sdk by itself is a kind of major component to run homebrew code on the PS2. I don't even want to argue anything; I am not a lawyer of any kind.


So, this is to answer rinco, asmodi and other various people on #ps2dev who were worried about the license problem down here. Yes, what is currently done with GPL code down here (mixing AFL and GPL) is a no-no (guess what: if it was BSD license instead of AFL -which doesn't differ that much I think, no?-, it would have been okay)


Dang. I am sooooooooo outta here.



But I guess rinco wants to remove madplay now. Ho, and, scummvm is illegal too then. LavosSpawn and Endy (and ole) will love that. And so are the various emulators evilo, 7not6 and ole ported. And if we have to refrain from porting GPL softwares to PS2 only because a GPL-incompatible license has been choosed for the core libs (whereas the main point was to have a license which was less viral than GPL - such as BSD or so), I guess I don't have anything left to do over here either.










(of course, my policy is still "let's wait for anybody to complain, and don't bother about that license bullshit" - still, that post is informative for people who really care about license-legal-crap problems, unlike me).
pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence and the trolls in the marketing department.
TyRaNiD
Posts: 907
Joined: Sun Jan 18, 2004 12:23 am

Post by TyRaNiD »

-edit-
Well... :)
Last edited by TyRaNiD on Fri Apr 22, 2005 5:52 pm, edited 1 time in total.
rinco
Posts: 255
Joined: Fri Jan 21, 2005 2:12 pm
Location: Canberra, Australia

Post by rinco »

But I guess rinco wants to remove madplay now.
No, I do not wish to remove madplay... I merely wish people to be aware
of the license issues, so that policy can be decided. I have always
thought of ps2sdk as an OS, so in my mind a ps2dev GPL binary is
legit. Any IT professional would agree that an ethernet or camera driver
is core-OS, so I doubt those are in question.

I would not refrain from porting GPL software because of an incompatible
license, and I do not wish to discourage others from porting software.
Nobody cares what you do until you post it on a website or stick it in cvs.
And I can assure you that distributing GPL source code is okay.
of course, my policy is still "let's wait for anybody to complain, and don't bother about that license bullshit" - still, that post is informative for people who really care about license-legal-crap problems, unlike me).
If you don't care about Gnu licenses, why do you care about Sony
licenses? Isn't the Sony usbd.irx required for the ps2cam driver, yet
it was removed from cvs?

Pixel, you've taken responsibility so far and done a great job. With
your support the best policy can be decided.

So, here's the options I see:

- get the necessary stakeholders to dual license the relevant components (or just compatible license, like BSD)
- do not publish or distribute gpl binaries (except 'OS' stuff, ie:ps2sdk/)
- apathy, ignorance and potentially some unhappy ps2devers

In any case, people need to be informed that the AFL is not GPL
compatible and if the code were to ever mix... it cannot be distributed
in any form, binary or source.
pixel
Posts: 791
Joined: Fri Jan 30, 2004 11:43 pm

Post by pixel »

--edit-- that was for tyranid, didn't see your post yet, rinco --edit-- Sorry, but I can't really handle that kind of reply. You don't give a shit about GPL and license stuff. I don't either, and lots of other ps2dev coder either (and some even hate GPL - I know, I don't care).

But, ps2dev has reached a point where the toolchain and the various code provided inside are grown up enough to permit wider usage of it. Yet, until a few month, the current usage was restricted to internal PS2-specific tools. Now, there's a larger group of developpers interested by the platform SDK we provide here, which started to actually code and port stuff which is previously GPL (like scummvm, various machine emulators, players, etc). And if you and me are not really giving a shit about license problems, some of them do, and are concerned about license problems, for their own reason. So, the ps2dev "group" can't just say "fuck the GPL"; that's no grown up, constructive answer to people who actually care about that.

I've been lurking around since, what... one year ? about it I think. I've been trying to help around, as much as I could. I wrote code, I spent countless hours trying to debug various things around, I made various improvements, trying to render the whole SDK more attractive to newcomers by rendering ports easier, in the sole purpose to provide a nice platform for people who wants to code for it. I didn't spend one year for a specific PS2 project that I have. I didn't spend some of my nights to code any tool. I just tried to help people coming along and code and port stuff; my work was only that.

Now that we actually do have external people getting interested by porting applications to the PS2, and that they ask questions about "hey, what about GPL compatibility?", can we really answer "Fuck the GPL!" ? I am sorry, I didn't spent that much time only to get people finally giving up about porting code to the PS2 only because we don't care to provide them a real answer to that legal problem.

I've spent so much time fixing small yet numerous details so that, say, scummvm (C++ hell) compiles using ps2sdk. For what at the end ? Nothing ?

No fucking way.


I DO NOT give a real shit about licenses, under whatever license my work is, etc, but, if it shall prevent other people to be unable to use what I sweated for (because they have other involvments about licenses or crap), then I really will give a shit about it.
pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence and the trolls in the marketing department.
User avatar
Neil Stevens
Posts: 79
Joined: Thu Jan 27, 2005 2:22 pm
Location: California
Contact:

Post by Neil Stevens »

Don't put too much faith in what the FSF says about licenses. They have a political agenda after all. They can't even be trusted to maintain honestly their own licenses against that agenda; see the treatment of the LGPL as an example.

Your best bet is to get your own lawyer if you want to settle the issue.
pixel
Posts: 791
Joined: Fri Jan 30, 2004 11:43 pm

Post by pixel »

Yes, I agree; we could hereby state "Hey, it's okay, you can do GPL software using our AFL code". But that is no legal wordings. Some people just will trust the FSF-all-mighty whatever we can say. If they say "No, you can't", I know that some people will just NOT move along with that. I've seen way too much license wars and annoyances over various projects to let it be the way it is. I am involved into a fucking huge lot of projects, and yet I already have been annoyed with GPL freaks who wanted compliance. Lately, I even got some troubles about GPL software linked with OpenSSL. "Yay, OpenSSL license is GPL incompatible, license problem, blah, blah, we can't distribute your software in debian, blaaaah." And I don't even speak about qmail-related problems. Or even translation problems, since I offer french translations for various softwares; I got annoyed sometime because I didn't use the right french legal wordings here and there.

The fact is we are attracting more and more people. And this kind of discussion will happen more and more often. This was started on IRC; that license discussion comes over and over more and more often yet. And I think we have to give a final, and grown up answer to that.



Now, would it be so much a problem to relicense everything back to modified-BSD-license ? Huh ? ps2drv was even BSD licensed before; can't we go back ?
pixel: A mischievous magical spirit associated with screen displays. The computer industry has frequently borrowed from mythology. Witness the sprites in computer graphics, the demons in artificial intelligence and the trolls in the marketing department.
User avatar
Neil Stevens
Posts: 79
Joined: Thu Jan 27, 2005 2:22 pm
Location: California
Contact:

Post by Neil Stevens »

I worked in KDE, which endured years of Debian's slander without having any problems. It *is* possible to ignore those people and still thrive.

Besides, I don't see how one "final" answer can even be given. Surely each license involved won't be interpreted in exactly the same way in every country (ps2dev.org is hosted in Australia, right? The law there is most directly relevant).

This is why each user of the SDK should get his own lawyer and analyze all third party licenses if he has questions about his project's legal status.
rinco
Posts: 255
Joined: Fri Jan 21, 2005 2:12 pm
Location: Canberra, Australia

Post by rinco »

Perhaps you would like to elaborate on how KDE vs Debian is relevant?

As far as I can tell, it's a completely different story. And in the end,
QT was released under GPL. The Debian 'slander' probably contributed
to the decision.

Personally, I'd rather not distribute a binary if it required hiring a
solicitor.

Until now the policy has been "Mix AFL with GPL and you'll be alright".
This policy needs to be changed.

AFL is likely to not be compatible with many licenses, GPL is popular so
it was noticed first.

To those who have yet to voice their opinions: This is a grown up
conversation which requires grown up opinions. Swearing at the GPL
makes this place appear to be a kindergarten (much like all the other
ps2-whatevers).
User avatar
Neil Stevens
Posts: 79
Joined: Thu Jan 27, 2005 2:22 pm
Location: California
Contact:

Post by Neil Stevens »

rinco wrote:Perhaps you would like to elaborate on how KDE vs Debian is relevant
Pixel seems to be suggesting that it's somehow bad if Debian-type people complain about ps2sdk licensing. I'm countering with an example of a similar effort that thrived in the face of vehement Debian complaints and refusal to package.
rinco wrote:Personally, I'd rather not distribute a binary if it required hiring a
solicitor.
You'd best use only your own code, then. You can't interpret licenses as plain language. Legal meanings of words frequently differ from their dictionary definitions.
rinco wrote:Until now the policy has been "Mix AFL with GPL and you'll be alright".
This policy needs to be changed.
Says the FSF? Please don't let the FSF dictate ps2sdk policy.

EDIT: Note that if ps2dev.org doesn't distribute binaries of GPL-covered code, there doesn't even need to be a policy about GPL/AFL mixing. As long as the SDK and other important libraries are kept AFL-only, and GPL is limited to individual projects that use the SDK, I don't see why ps2dev.org even needs to give legal advice to anybody.
rinco
Posts: 255
Joined: Fri Jan 21, 2005 2:12 pm
Location: Canberra, Australia

Post by rinco »

Says the FSF? Please don't let the FSF dictate ps2sdk policy.
I'm not just referring to mixing AFL and GPL in a binary. Current
ps2sdk policy indicates that it is ok to mix AFL and GPL in source.

This is definitely not the case.

FSF aren't dictating ps2sdk policy. I'm not dictating ps2sdk policy.

All I'm saying is... This policy needs to be changed
EDIT: Note that if ps2dev.org doesn't distribute binaries of GPL-covered code, there doesn't even need to be a policy about GPL/AFL mixing. As long as the SDK and other important libraries are kept AFL-only, and GPL is limited to individual projects that use the SDK, I don't see why ps2dev.org even needs to give legal advice to anybody.
Those are all policy decisions:
1. gpl binaries are not distributed
2. gpl/afl is not mixed
3. sdk and important libraries are afl only
4. gpl can only be used on individual projects
5. ps2dev.org offers no legal advice to anybody

So are you pro-apathy or pro-policy?
I like your policies and I would tend to agree with them.

ps: i'm a "debian type person". you got a problem with that?
Last edited by rinco on Fri Apr 22, 2005 4:14 pm, edited 1 time in total.
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Post by ooPo »

Neil Stevens wrote:
rinco wrote:Personally, I'd rather not distribute a binary if it required hiring a
solicitor.
You'd best use only your own code, then. You can't interpret licenses as plain language. Legal meanings of words frequently differ from their dictionary definitions.
rinco wrote:Until now the policy has been "Mix AFL with GPL and you'll be alright".
This policy needs to be changed.
Says the FSF? Please don't let the FSF dictate ps2sdk policy.

EDIT: Note that if ps2dev.org doesn't distribute binaries of GPL-covered code, there doesn't even need to be a policy about GPL/AFL mixing. As long as the SDK and other important libraries are kept AFL-only, and GPL is limited to individual projects that use the SDK, I don't see why ps2dev.org even needs to give legal advice to anybody.
You say that you can't interpret licenses as 'plain language' then turn around and give advice on how to interpret the license. Are you a lawyer? You sure sound like one. :)
User avatar
Neil Stevens
Posts: 79
Joined: Thu Jan 27, 2005 2:22 pm
Location: California
Contact:

Post by Neil Stevens »

You caught me, oopo. I *am* using the FSF interpretation of 'mere aggregation' in saying that source-only distribution of GPL-covered code that uses AFL-covered libraries is no problem.

I'm inclined to believe them on that, because this isn't a case where they're trying to make a political point, but rather are trying to make the GPL-covered code useful. When even the FSF gets practical, I don't doubt them much.
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Post by ooPo »

Here's a breakdown of the issue at hand, debian bashing aside.

We had been telling people that mixing AFL and GPL code is relatively safe. According to the FSF this is not the case. So, we must stop telling people this. This assumes that AFL 2.0 is also non-compatible with the GPL, under which ps2sdk is licensed.

So, what should we do about it?

1) Do we want to become more compatible with the GPL?

2) Do we want to stay with the AFL and eliminate any GPL code completely?

3) Do we not do anything until asked by someone who owns the GPL code we may be using?

4) (your option here)


Now, this currently isn't a pressing issue. Nobody has asked us to stop. However, people have been asking... new people who want to get into ps2dev and some who are already doing it. Dealing with this issue now rather than later can at least give us a straight answer when someone asks 'Is this compatible with the GPL?'

We have plenty of time to decide what to do, but it helps if we stay on topic and actually do so. :)
User avatar
Neil Stevens
Posts: 79
Joined: Thu Jan 27, 2005 2:22 pm
Location: California
Contact:

Post by Neil Stevens »

I say: tell people who ask that question to contact a lawyer competent in their jurisdiction's copyright law. Just don't give legal advice. This community is international, and there really is no straight answer to that.

If there is a concern about binaries distributed *here* being illegal, as I suggested earlier one should just take the most conservative route there is, and just don't distribute any binaries that might be illegal. That is, unless someone wants to hire a lawyer where ps2dev.org is hosted and get a definitive answer.

As for re-licensing, I have no code and therefore no real say in the matter, but if ps2sdk is covered by a license light on restrictions (like the MIT license or the new BSD license), then these legal issues get much simpler. The fewer legalities involved, the fewer ways there are for licenses to conflict, and the more likely a non-lawyer is to make a reasonble guess about the legality of a given binary.
User avatar
Neil Stevens
Posts: 79
Joined: Thu Jan 27, 2005 2:22 pm
Location: California
Contact:

Post by Neil Stevens »

And if I sound like a lawyer, it's because I'm a veteran of too many licensing wars, and have closely read the GPL more times than I can count, heh.
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

pixel: You're mixing up what uses what. The GPL license says it can't be used in other programs without that program being GPL as well. But PS2SDK isn't using GPL programs, the GPL programs are using PS2SDK. It's the opposite case from what you're worried about. Think about this, if a GPL program required the OS to be GPL, you couldn't make a single GPL program on Windows.

GPL programs can use other libraries and devices and OS APIs without making them GPL, but not the other way around. A GPL OS would require ALL programs to be GPL. The way linux gets around this is by making system interfaces LGPL instead of GPL.

Let's take MAD as an example. MAD is GPL, so if a program uses MAD, it must also be GPL. However, MAD uses libsd or freesd. That doesn't mean that libsd and freesd have to be GPL as MAD is using them, not the other way around.
Guest

Post by Guest »

Solution:

Go the Sony route: define the PS2SDK along the lines of an "RTE" between applications and the underlying native OS of the PS2.

Applications that interface with the "PS2SDK as RTE" can still themselves be AFL or GPL without worrying about the RTE itself. Naturally, the authors of such apps must take care how they do mixing. However, the RTE should not be a factor in that.
Guest

Post by Guest »

HEAR! HEAR! I will quote the whole thing J.F. wrote because I feel exactly the same way based on my own understandings. It doesn't help that the only examples in this thread don't help us to analyze specific cases to say yay or nay. People are sweepingly saying something is or isn't illegal without identifying how the pieces of the puzzle are coming together. I agree with J.F in that it seems in most cases, the pieces fit together without worries.

J.F. wrote:pixel: You're mixing up what uses what. The GPL license says it can't be used in other programs without that program being GPL as well. But PS2SDK isn't using GPL programs, the GPL programs are using PS2SDK. It's the opposite case from what you're worried about. Think about this, if a GPL program required the OS to be GPL, you couldn't make a single GPL program on Windows.

GPL programs can use other libraries and devices and OS APIs without making them GPL, but not the other way around. A GPL OS would require ALL programs to be GPL. The way linux gets around this is by making system interfaces LGPL instead of GPL.

Let's take MAD as an example. MAD is GPL, so if a program uses MAD, it must also be GPL. However, MAD uses libsd or freesd. That doesn't mean that libsd and freesd have to be GPL as MAD is using them, not the other way around.
rinco
Posts: 255
Joined: Fri Jan 21, 2005 2:12 pm
Location: Canberra, Australia

Post by rinco »

People are sweepingly saying something is or isn't illegal without identifying how the pieces of the puzzle are coming together
Perhaps we can agree on what the pieces of the puzzle are...
Mixing AFL and GPL could be done in several ways, here's a few:

a. copying and pasting AFL code snippers into GPL functions
b. referencing AFL library headers from GPL source
c. linking an AFL library against a GPL program
d. linking Ps2sdk against a GPL program

The FSF have provided their view on item c, ie: don't do it. Perhaps it
would be worthwhile asking them if they could clarify their opinion on
items b and d (although Pixel probably already has...?).

Madplay.ELF is probably legit, but I'd rather try and stay compliant
with the GPL Compliance 'Engineer'. I will not be taking the risk of
distributing GPL binaries that link to or include AFL software (a and c).
Instead I plan to distribute ported GPL software in source form only,
if at all. I suggest that this is how Ps2dev handles all GPL ports.

J.F., your example only seem to relate to item c - linking AFL with GPL.
And the FSF response seems to be fairly clear about item c - do not link
AFL with GPL. I do agree that Madplay.ELF may legally use freesd, but
for different reasons.
cory1492
Posts: 216
Joined: Fri Dec 10, 2004 1:49 pm

Post by cory1492 »

Ooo, why not just move to the "next gen" standard, PS2DEVL ...

Not sure what all is included in creating a "new" or hybrid type liscencing, but isnt it really the choice of the coder as to which type of liscence it will fall under - or is it totally impossible to intermix code chunks from 2 separate liscences even if the liscence is included/intact?
J.F.
Posts: 2906
Joined: Sun Feb 22, 2004 11:41 am

Post by J.F. »

The question is whether linking to system services requires the system to then be GPL (compatible). If the services are not statically linked into the program, the answer is no - obviously or you couldn't write GPL programs for Windows. IOP modules for the PS2 are even more immune since they use RPC to link. This is clearly out of the reach of the GPL, even by RMS's strictest interpretation.

Where you would have a problem would be to take some code for the EE side and statically link it to the program. That's when this finally becomes an issue. However, looking over the AFL 2.0, I didn't see where an issue would arise. The AFL seems to be very akin to the BSD license which is considered GPL compatible.
User avatar
Neil Stevens
Posts: 79
Joined: Thu Jan 27, 2005 2:22 pm
Location: California
Contact:

Post by Neil Stevens »

Can objects be dynamically loaded on the PS2?

People who really, really want to re-use GPL code in a ps2sdk app could look to that as a solution, if it's possible. I mean, they can't complain if you never distribute GPL code linked with AFL code, if only you make sure your little interface between the two is licensed in a GPL-compatible way (which you could public domain if you had to, since it's only an interface, not anything vital).

If this works, then there's more need to even care about the AFL/GPL compat issue.
Oobles
Site Admin
Posts: 347
Joined: Sat Jan 17, 2004 9:49 am
Location: Melbourne, Australia
Contact:

Post by Oobles »

Sorry, I'm getting to this thread a bit late. Licensing is a big pain in the neck, and the GPL is the biggest pain of them all. The fact that the license forces all programs that use GPL code to also comply with the GPL makes it a very difficult license to work with.

ps2sdk a long time ago was licensed under a X11 license. This was GPL compatible. It was decided that the AFL was a better license and after contacting the few authors involved it was changed. I think it would be a lot harder now to get all authors involved to change the AFL to something the FSF approves.

Someone mentioned that ps2link should be GPL. I don't believe that is the case. The only part of ps2link that is loaded on the PS2 that is GPL when ps2link is running is the ps2eth driver. I view this as a driver and should be treated the same way linux programs treats drivers. Every program written under linux is not effected by GPL just because it is licensed as GPL.

I view the ps2sdk as our operating system for ps2dev. The GPL does provide exclusions for this. From this point of view I don't believe anyone who wishes to release code using GPL should need to require that ps2sdk is compatible with the GPL. This doesn't mean that an author can ignore the AFL completely.

If people wish to mix ps2sdk with GPL libraries and their own code, their code will need to be GPL because of the library. This will be the case with some of the code in ps2sdk-ports. The ports directory has a readme which states that the licenses may not be compatible. I believe this is an OK situation.

The policy for all code in the CVS is that it must contain a license of some kind. I've always been very clear on that.

The policy for ps2sdk is that any code must be contributed under the license of the AFL. If anyone knows of code that has been copied into ps2sdk that is GPL, then we must remedy this as soon as possible.

That's my 2c worth.
Oobles.
ooPo
Site Admin
Posts: 2023
Joined: Sat Jan 17, 2004 9:56 am
Location: Canada
Contact:

Post by ooPo »

There are other licenses than GPL and AFL that we could use and still be compatible with the GPL, like the modified BSD license.

I think we all agree that making ps2sdk or ps2link GPL is just silly. :)
ole
Posts: 92
Joined: Sat May 08, 2004 11:14 pm
Location: Czech Republic

Post by ole »

Ho, and, scummvm is illegal too then. LavosSpawn and Endy (and ole) will love that. And so are the various emulators evilo, 7not6 and ole ported.
Hmm... both my ports of scummvm and uae use ps2lib. Is ps2lib license also non-compatible with GPL?
Post Reply