Beginning Wimp Programming in C
Pages: 1 2
Rick Murray (539) 13840 posts |
Which files are those? I’m looking at …Export.APCS-32.Lib.CLib.h.stdio and the boilerplate at the top talks about source code, which is somewhat confusing when it is a header file for a binary library (hence, not a source release). The main ReadMe says nothing about the licence. Nothing in Documents.DDE seems pertinent. A quick check of a slightly older version of Documents.Manuals.DDE/pdf (because Adobe Reader on the iPad can search the entire document in a dozen or so seconds) found neither “licence” nor “license” in the entire document. Ditto the C_C++/pdf file. I’m going to carry on using the libraries in my non-open software, just as I always have – but I think it might be useful if ROOL clarified the situation in the next DDE release, plus also drew a distinction between using the libraries as-is, and using source code of the libraries (which may oblige the project licensing to be amended appropriately).
Such are the unfortunate side effects of blindly copy-pasting boilerplate onto everything in sight. ;-) IANAL, but reading through http://www.castle-technology.co.uk/licence/baselicence.shtml it would probably be found to be null and void. Its concern, one that is mentioned frequently within the document, is for RISC OS and derivative works. So, I repeat my request – ROOL might want to clarify the licence situation in the ReadMe of the next DDE release. And bonus points & cookies if there’s an update file to clarify this for current incarnations of the DDE. |
Rick Murray (539) 13840 posts |
BTW – is this supposed to be here: [DDE]AcornC/C++.Export.APCS-32.Lib.RISC_OSLib.s.modulewrap ? |
Colin (478) 2433 posts |
Exactly
But the licence doesn’t. The only licence I/you have is the GPL. What sort of statement is ‘This this licenced under GPL but it isn’t really’ is it or isn’t it. From your statement you must think I’m being deliberately obtuse but I’m not. All I would want in an actual licence to use it in Non GPL code. |
Chris Mahoney (1684) 2165 posts |
I’m at work now so don’t have handy access to the DDE. I just searched for “licence” and picked a couple of files at random (I think one was menu.h from tboxlibs but I can’t say for sure). |
Colin (478) 2433 posts |
I would want a different licence to make it useful outside compiling roms just saying it is ok isn’t good enough. |
Chris Mahoney (1684) 2165 posts |
I’m honestly unsure why you won’t take yes for an answer. In the case of OSLib the copyright holder explicitly says you can do it, but you apparently won’t accept that. I’m sorry if that comes across as rude, but I’m at a complete loss as to what the issue is. Edit: Maybe I can phrase it a different way. The OSLib source code is GPL licensed, but the binaries are “freely usable” for linking without a specific licence. This right has been explicitly granted by the copyright holder, via the ReadMe file. |
Rick Murray (539) 13840 posts |
Depends on how it is written. If there is something supplied with the DDE that states that “These libraries [specify!] may be freely used in their supplied object form in any RISC OS software (free or commercial, open or closed source) as is necessary.” then that would do for me. It would be better to change the nonsensical boilerplate as it isn’t logical in this (non-source) context, but given the volunteer status of ROOL and the many other things that need done, I’ll settle for a mention elsewhere. As long as there is an authoritative statement from ROOL on the subject that can be referred to… |
Rick Murray (539) 13840 posts |
….uh, so shouldn’t it be LGPL in that case?
Let’s see… The website file states that the libraries can be used in non-GPL software. The archive comes with the standard COPYING file that does not make any mention of this whatsoever. However, and here’s the fun part, the header files themselves do mention this (I’m looking at h.actionbutton). From this, it seems clear to me that the library can be used in non-GPL programs. The website text is the least significant, the text within the header files themselves is the most significant (licence files and readmes fall in between unless the header files make no mention of licence). |
Colin (478) 2433 posts |
Because the licence is the only document that allows you to use the authors software. If they mean what they say then they should make a licence saying you can. As they haven’t the conclusion you have to come to is that they can’t. |
Steve Fryatt (216) 2105 posts |
As far as I know, I quoted you the licence. The licence refers to the GPL, which is in the separate ‘copying’ file, but unless I’m missing something, the bit that matters is in the ReadMe?
As far as I can see, the part that matters here is licensed under two licences. If you want to use the OSLib source code, you must be using it in a GPL project. I’ve used modified parts of OSLib’s build system in the system I use to build my software, and those changes were released under the GPL (they’re in OSLib’s source now, in fact). The important bit is that the OSLib binary has a second, additional license attached — which says that you can link it into proprietary code too. The copyright holders can do that: it’s their copyright to licence in as many ways as they see fit.
I still think you have it: “proprietary” seems to have a fairly specific meaning in a GPL context, at least if Google is to be believed. |
Chris Mahoney (1684) 2165 posts |
*shrug* [edit: don’t know] |
Rick Murray (539) 13840 posts |
[deleted – as LGPL discussed but discarded as a viable option, as noted below] |
Steve Fryatt (216) 2105 posts |
No. The OSLib FAQ makes it clear that the LGPL wasn’t considered free enough for what they wanted.
It certainly does. The OSLib ReadMe inside the archive defines the licence, and refers you to the COPYING file for details of the GPL bit of that.
That file is already there: it’s just called “OSLib_readme”. |
Steve Fryatt (216) 2105 posts |
I should probably add that, based on my reading of the LGPL, the key stumbling block would appear to be clause 4d — which requires developers to make it possible for users to upgrade their copy of the library to a new one at any time. Without properly shared libraries, that’s a little tricky to do if you just want to release an executable. |
Colin (478) 2433 posts |
I only see one. If I’m researching using the GPL licence and come across the GPL FAQ and it says something that I think disagrees with the licence, is the licence correct of the FAQ? The Licence of course. The Readme is the equivalent of the GPL FAQ its not a licence. Anyway I’ve said enough. |
Rick Murray (539) 13840 posts |
Good point. |
Rick Murray (539) 13840 posts |
That’s why I said that the most important thing is not the included licence file, but what the header files themselves say. The actual content that the licence applies to1 says “this” so “this” is what goes. 1 In lieu of any sensible mechanism of the object file itself stating its own licence… |
Steve Fryatt (216) 2105 posts |
Then, as Rick says, look at the licence at the top of any of the OSLib header files. That’s actually explicit:
Does that not answer your questions? |
Colin (478) 2433 posts |
Yes I can only distribute my code as an executable with a licence of my choice. If I use this library and want to distribute my source I can only release GPL compatible source. Edit: On second thoughts I don’t think it can stop me distributing the sources with my own licence and it’s probably good enough. Still wouldn’t be confident enough to use it myself but can see others would. Edit 2: Not as confident as I was in edit 1
Just says I can’t use the library. Not basing your work on a library is not using a library. I give up. I’ll just avoid it. |
Chris Evans (457) 1614 posts |
Various thoughts:
Whilst it does say that if ‘the sources’ are released they must be under ‘GNU public licence’ However if you modify OSLib AND want to release the sources to a program using it, then you it must be under ‘GNU public licence’ I don’t think they’d thought through the implications of the relaxation, as they seem to want it used widely. |
Dave Higton (1515) 3526 posts |
For the life of me I can’t see what Colin’s problem is. A licence is a statement of the terms under which the licensed stuff can be used. Looking at it from the other direction, other documents can be used, instead of or in addition to a licence. A document that calls itself a licence is not required in all cases – look at the number of applications that have been released over the years where the terms are in a document that calls itself something other than a licence. A ReadMe file is just as legal. So, back to this case. The ReadMe file states that the source for OSLib is covered by the GPL – hence the presence of a copy of the GPL along with OSLib. The ReadMe file states that the authors have agreed a relaxation of the conditions… (etc.) for the use of the binaries built from the sources; which they are free to do. Therefore anyone can link with OSLib binaries and distribute the linked entirety under terms of their choice. They must also make available the sources of the version of OSLib that they have used. This is the only way in which the GPL affects them. There really is no problem. |
David Feugey (2125) 2709 posts |
Yes, but if the main license is respected… so GPL. Circular reference, as GPL does not permit that. Put source code in GPL, give possibility not to respect it, while respecting it. It would be the same as saying: speed is limited to 55 mph. You can go faster, if you respect the limit. License permits exceptions, while saying: “Linking this library statically or dynamically with other modules Things can not really work like this. You should adopt another license : here LGPL + static linking exception. Or say specifically that there are two different licenses. Here, it’s not very clear. First part. Second part: the GPL itself. It’s probably exact to say that OSLib code will not be copied inside your compiled code, or that your code will not be linked to OSLib. If we see OSLib as shortcuts, so headers, we should not use GPL licence. That’s the same debate with Java around API and interoperability. Headers and API should not be covered by a license (not like this anyway). |
Colin (478) 2433 posts |
I do realise that it is my problem. My view is that a licence are the terms under which I may use the software. I dare say that courts of law would say that something constitutes a licence but I’m no lawyer and its safer not to assume. I won’t 1) work around the licence by assuming the intent For example the exception says
And then goes on to say
I can’t see how I can use a library and not base my work on it. You and others obviously think that the licence’s wording is obvious but it isn’t to me and as such I can’t be confident that I am complying with the licence. The only way I would use this software is in GPL code as I am sure then that I can comply with the licence. I’m not trying to dissuade anyone from using it and it doesn’t matter if I’m wrong. I’m just looking after myself. I’ve only extended this thread because people have tried to clarify the licence to show my misgivings are unfounded. |
David Boddie (1934) 222 posts |
I’m not a lawyer but I’ve seen this kind of thing before. Here’s my take on it.
This text (from the OSLib FAQ) is just setting out what the GPL (without exceptions) applies to.
This just says that you can link the compiled code of your application/library to the library and distribute it under some other terms unless those terms of your application/library forbid it themselves. The use of “independent module” is confusing in itself, but here’s the definition:
Here, the “derived from or based on” language is unfortunate because it leads to over-strict interpretations. I don’t think it’s enough to say that linking with the library is deriving from it or basing code on it. My interpretation is that the authors had in mind the situation where someone used code from the library or made a wrapper round it and tried to use the exception to dodge the requirements of the license. I thought the use of “independent module” was strange, so I went looking for other uses of the term. I found the GCC Runtime Library Exception which contains a definition, but the GNU Classpath License contains exactly the same text:
As for distribution of your application’s source code. You can distribute it under whatever license you wish – this license doesn’t stop that. If, however, you were to distribute the source code with the OSLib source code then maybe you would have problems. |
Pages: 1 2