GPL in ROM
Chris Hall (132) 3554 posts |
You can’t use a riscos module with a GPL at all – either inside or outside the riscos rom image. The only way to use any module with a GPL is to make all modules GPL compatible. Ludicrous and dangerous nonsense (obviously)! Clearly there are people stupid or gullible enough to believe this. Perhaps the GPL licence should mandate the solution of world hunger. That would be quite a useful by product. There was a Dilbert cartoon that had a Microsoft software licence that said if you open this envelope then I possess your soul (or somesuch). There is legislation that prohibits unfair contract terms. |
Colin (478) 2433 posts |
x |
Colin (478) 2433 posts |
x |
Simon Inns (2484) 108 posts |
What an exceptionally arrogant thing to say. Just because someone has a different point of view doesn’t make them stupid. Perhaps not being able to argue your point without resorting to such prose is more of an indication of your comprehension levels than preferring an extremely popular and widely applied license?
I have to agree. Surely the positive aim here is to work out how best to include GPL code rather than just blanket statements of exclusion. I’ve even gone so far as to suggest a hypothetical way that a GPL module could be in the ROM image. However: If the structure of the ROM image is so restrictive to GPL contributions (and I’m not as convinced of this as others are) then I would propose that the ROM image structure is the issue. Perhaps the monolithic approach to the ROM image is an issue? You could, for example, restructure it so that the directly executed part of the ROM is separate and the rest is a mountable filesystem (like a RAM disc, but in ROM). It would be beneficial from both a licensing perspective as well as the support of more modern systems which are not based on a physical ROM. It would also help with clarifying the legal position since there is precedence for operating systems based on such structure? |
Colin (478) 2433 posts |
x |
Simon Inns (2484) 108 posts |
Reminds me of the old ‘recursion noun: please see recursion’ comment.
Of course there is. Windows, MAC OSX and Ubuntu are all examples of operating systems which combine both GPL and non-GPL source with both open and closed code. It was already stated (in this thread) that the physical ROM image was an issue since the GPL distinguishes between data packed on a ROM in executable form and more loosely coupled filesystems such as CD-ROM. Although I don’t really agree with this view it seems easier to accept that interpretation and then look at how to solve the issue. I do agree, however, that by providing different parts in different distributions, the issues are easier to separate and overcome (RISC OS already does this with a ROM image and a harddisc image – so it’s not that greater leap is it?). If the ROM image contains only the minimum required system libraries and initial boot code then we would have a method to replace existing parts of the ROM with GPL code – or, even better, enhance the existing ROM image with GPL code for things not already covered, furthermore it would allow others to use their preferred licensing too. By taking the view that “it’s not possible, so why discuss it?” you are closing the door to potential contributions outside of the core group of devs which you have at the moment. All operating systems are complex as are many applications. You seem to believe that RISC OS is some form of magical exception and needs to be treated differently from all the other closed and open OSs out there. Now that’s a bit of an arrogant leap of faith. I don’t think anyone ‘likes’ being bound by the Castle license and I don’t see any advantage with rejecting GPL code authors (or any other open-source license users). Why not discuss some restructuring of the ROM image if it could help make the situation better? |
Colin (478) 2433 posts |
x |
Chris Hall (132) 3554 posts |
If you believe that you can use a module with a GPL then there is nothing stopping you. It doesn’t matter even if the module goes in a physical rom as long as the module is replaceable by the user which most modules are. All that is required is that the user can modify the source code for the module and replace the rom version. That is exactly how I see it. You decide to replace the module, you edit its sources and recompile it and then distribute the newer module (and sources, under the GPL) with your software and RMEnsure the later version. Simples. Your software doesn’t itself have to be GPL either as it won’t be statically linked to the module anyway. If someone issues a later version of the module (which may or may not be GPL) then the GPL module will not even be loaded. There is one possible caveat – a module included within the ROM is capable of being statically linked to the code within the ROM, but does not need to be (it can function as if it were RMloaded rather than guaranteed to be present). Perhaps the rom building process should be able to identify GPL’d modules and keep them at arms length in this way (and say so so that GPL lawyers can see that). For example in the Help message say that ‘this module is not statically linked’. |
Simon Inns (2484) 108 posts |
From GPLv3 FAQ:
From GPLv3:
So, if you condense the ROM image into what is essential for RISC OS to run and then distribute the rest in another distribution you will have the ability to use the core modules alongside GPL modules and code. All core modules provide SWIs which implement a standard interface – this standard interface is available to the public. The only gotcha seems to be ‘source-code form’. Once the core RMs are isolated, you list out the SWIs and build a simple library to give access to them (just like OSlib already does for a lot of SWIs). This can included all the other stuff like events and callbacks, etc. (if I read correctly, OSLib does a lot of this sort of thing already?) Additional RMs can be written against the same library stubs (as could the existing RMs which have been removed from the core) – i.e. you can have GPL RMs and they can co-exist with the current source. Now, I’m not stating that the example above is 100% right and the way to do things; but it does prove that there are possibilities to be explored. If you don’t want to explore the possibilities (Colin) then you are welcome not too, but stating off-hand that something is impossible is more akin to religion than computer science. Note: Chris I agree with your text (and read it after writing this) – the additional thing I’m trying to include is that not only can you write GPL RMs you can also utilise other non-GPL RMs in doing so, provided they are really ‘core’. A small shift in the packaging and structure of the ROM could make everything a lot easier on all sides. |
Steve Pampling (1551) 8170 posts |
Spelling, not grammar. I correct spelling in an office full of what the wife calls “uber-geeks” grammar is a lost cause (besides “those who live in glass houses” really comes into play if I do the grammar) |
Simon Inns (2484) 108 posts |
You mean ‘über’ surely? :) |
Steve Pampling (1551) 8170 posts |
Actually I was thinking that the financial well being of a set of people who work in their spare time on this project was what needed protection. Having someone drag them through expensive court cases about illegal code use would hardly make for more open code. Closed, buried in a vault and not legally usable for anyone could be the outcome of that. I get the feeling you haven’t read one word of the patience advice. Or dismissed it out of hand. |
Steve Pampling (1551) 8170 posts |
Not the way Chris says it. Since she did German at school (she still remembers that far back and recently so some cells still work) and she doesn’t use the German pronunciation. :) Beside which, if you aiming for a spelling issue – it isn’t, it’s punctuation. |
Simon Inns (2484) 108 posts |
Don’t get me wrong Steve, I read your posts in this thread; all of them. I’m not trying to force anyone to do anything against their will, nor is my intention to get anyone into trouble. As I’ve stated before I think RISC OS open would benefit from being actually open. Not necessarily ‘open’ as in open-source to begin with (although that would be great) but open as in open to contributions from programmers who wish to use GPL. Whether you like the GPL or not you have to admit that there are a large number of open-source authors (such as myself) who like to use the license. Why not work out a way to make it happen? The "sure you can write code, only over there in the corner though, we don’t welcome GPL in the core’ attitude is a little off-putting. I don’t have to be patient; I could just ignore RISC OS and carry on with Linux – but I like RISC OS and want it to grow. It’s nice of Castle to give you some crumbs and perhaps you’ll survive on them. The whole cake would be better though. Earlier some mentioned BeOS, another small but useful OS. They went so far as to re-write it completely and change the name to lose even the trademark issues. You’ll be happy to know they used the MIT license rather than GPL, but it’s still hand-on-heart open-source born from a closed OS. If no one considers the untouchable Castle owned core of RISC OS to be an issue then I’m surprised. Right now, no matter what you do to it and no matter how hard you work it will still belong to Castle. One route to freedom is a big-bang re-write of anything under the Castle license. Another more soft ‘patience’ based approach is to welcome and encourage open-source authors and provide not only the right to choose a license but also the support for them to do so. If you expand the base of developers you will gain the bandwidth required to achieve other grander tasks. If you insist on alienating developers you will achieve the opposite. (oh and BTW: http://dictionary.cambridge.org/dictionary/british/uber – u and ü are different letters, so it was spelling – picky but there you go :) |
Steve Pampling (1551) 8170 posts |
Interesting. You were referred to an article by Justin (one of his rambles) in which he specifically referred to contacting people regarding GPL in the ROM. “I mailed the maintainers of that code and Russell King, as maintainer of the ARM code base.” further comment in the same article: " You cannot just take GPL components and place them in a shared library to isolate yourself from the GPL’s requirements on the whole." So, it seems you have more knowledge than the maintainers of the ARM GPL code base and someone who has spoken with them on the specific subject. |
Simon Inns (2484) 108 posts |
How kind of you to say so. Probably not true, but I appreciate the sentiment. |
Steve Pampling (1551) 8170 posts |
Well there are true open source items already in there and increasing in number. You just need to avoid incompatibilities. BSD and CDDL do exactly that. Right neighbourly of them. No doubt we could find similar code if we tried. Still think everything else is out of step and only GPL is correct? (Rhetorical question, I know you will say yes)
I’d prefer to leave the negotiations with FSF etc to the experts. There’s a task for you – persuade them that GPL code in the ROM with non-GPL and closed code is absolutely fine.
Complain to the people who wrote the rule. I’m sure RMS is a very reasonable man and will accept all arguments in favour of mixing BSD, CDDL, closed and GPL in the same ROM and change the rule. |
Steve Pampling (1551) 8170 posts |
Damn, and there was me thinking irony had something to do with removing creases. :) |
Simon Inns (2484) 108 posts |
Actually I’ve met RMS at Stockholm university. I would say he is very steadfast in his views. Given that even the consideration of changing the ROM to make GPL easier to integrate is so off-handedly rejected, I’d say you don’t have much to learn from that aspect of his personally. I will say that I think the fact he is willing to stand up for freedom and so motivated to do something about it (given the sheer number of personal attacks everyone seems to think they have the right to wage on him) is downright impressive. As is the distance he’s managed to carry the cause of open software. I would guess he wouldn’t care less if RISC OS disappeared overnight; but I would, so I’m motivated to try and do something about it – although not at the cost of weakening the GPL though; that would be a terrible trade-off. |
Steve Pampling (1551) 8170 posts |
Nope. I’d say my irony joke may have fallen flat. However, I suspect RMS is more likely to change his views than some of the copyright owners are to do anything fast. Hence the suggestion of placing the code elsewhere that you dismiss as waving people off to a remote corner. It’s another P word. No not p take, Pragmatism. Do what you can and drop pebbles in the pond for the other stuff. You don’t give up and you don’t run like a bull at a gate.
Don’t. Just use CDDL or BSD. Bear in mind that altering things later is still possible. |
Rick Murray (539) 13840 posts |
Note: Quotes are from all over today’s messages. Everything condensed into one (long) message so disinterested people can more easily skip over it.
The monolithic, or otherwise, nature of the kernel is not the issue. The GPL’s attempt to land-grab is the issue. Explanation follows…
Of course the GPL does not have tentacles, that would be about as dumb as saying the Sun has a tentacle (oh, wait…). Anyway, the GPL it is not an actual “thing” so it cannot possess body parts. Here’s why. If I take your code (obviously GPL, right?) and put some sort of wrapper around it, it is still fundamentally your code. International copyright law would see that as a “derivative work”, and in keeping with the licence of your code, the result would be required to be GPL. However, if I write something of my own, then this is my code. I can licence it as I please, GPL, EUPL, closed or free-for-all. If I write something of my own that entirely replaces your code (but contains none of your code), then it is still my code and still can be licenced as I please. [except in the US – broadly speaking, copyright covers implementations not ideas; the abuse of patents is the thing that covers ideas] If I write something to interact with your code, using the defined interfaces, then that is still my code. Additionally, in Europe, if the way to interface with your software is not documented, I am permitted to reverse-engineer it to glean this information (interoperability clause), though given that it is open source, one might consider that the source code is the documentation. So if I write something using that knowledge – but does not contain any actual code of yours, then it is still my code and I can licence it as I wish. The question of linkage is utterly irrelevant. My code does not become your code simply by proximity or the fact that it may or may not extend existing functionality and may or may not be linked this way or that way. Without this spectacularly ill-defined clause, the GPL would be a reasonably acceptable OSI licence.
Don’t. You’ll lose the will in about thirty seconds. YouTube comments, even after Google’s “real names” policy, still manages to rival Facebook for dross.
Valuable is subjective. I consider RISC OS to be valuable, but not in a monetary sense.
I would second that. I would imagine one of the biggest causes of GPL (etc) violations are due to some twat downloading some code and passing it off as their own. Just because stuff is on the internet doesn’t mean it’s a grab-bag of code snippets for the taking.
The part in bold just cannot be stated clearly enough. There is a site for GPL violations, and FSF has a procedure for reporting GPL violations; but ultimately it is down to the assigned copyright holder to pursue. If somebody was to infringe my copyright (and they have – my old assembler programming stuff has certainly done the rounds in China!), I probably wouldn’t enforce my copyright (as it is a hassle and expensive). I’d slag them off on my blog instead. ;-) That doesn’t mean there was no infringement, it just means I’m not apt to lobbing sueballs around when I get sulky.
Just to point out, in some jurisdictions, an FAQ written and released alongside the licence itself, and by the same people, could be construed as “guidance” on how to interpret the licence. Certainly, it is worth taking the FAQ interpretation into consideration because this viewpoint is likely the one that many would point to, on either side of the argument. For jurisdictions under American law, I believe that I am actually required to add this: IANAL and TINLA.
With the general exception of critical parts, you don’t need to do anything to make this possible. You just need to load the right modules at the right time. <shhh>I no longer have my copy of RISC OS 3.80</shhh>, but the one I did have came with a later filesystem that was loaded after the ROM image had been softloaded. I think it added long filenames or something, but it was kind of crashy, and people need a crashy filesystem about as much as they need crashy airplanes… I don’t think you can replace the HAL or kernel; but I have recently given you a way to make the ROM area writeable, so you might be able to come up with some unholy hack to make it possible to poke in a GPL HAL and pick up on the data tables left by the RISC OS HAL, if such a thing appealed to you? RISC OS, by design, has a lot of replaceability (is that even a word? Steve!?) to it. There’s no need to muck with the ROM image to satisfy the peculiarities of a specific licence. Furthermore, it is extremely worth pointing out that the current setup of the RISC OS ROM means that more or less the entire operating system is loaded in one lump from a FAT partition and executed (SoC and softload) or is run directly from some sort of ROM (legacy, Iyonix). These means that it is possible to have a functioning operating system with full GUI environment on a machine with no native filesystem active. In cases where there has been a problem with the media, many operating systems will fail – Windows (XP, Vista, don’t know about later) tends to go bluescreen with the message “UNMOUNTABLE_BOOT_VOLUME” (picture) and Linux tends to kernel panic when it fails to set up important parts of the filesystem (picture).
No, we’re closing the door to those who insist upon using a licence that may be incompatible with the existing ones. But the door has not been slammed and bolted, it is ajar. You could simply use a compatible licence. And for those who are happy to use a compatible licence, the door is wide open. And we’re standing on the other side holding party poppers. ;-)
About as arrogant as people raising legitimate concerns being described as believing… what was it? “that RISC OS is some form of magical exception and needs to be treated differently from all the other closed and open OSs out there.”. No, it is not magical (except in an extremely nerdy sort of way). As for it needing special treatment? DUH, scroll up and read what the big green text says. We are hardly going to be talking much about Atari TOS or GEM or Windows 10 here, are we? If you want to evangelise the benefits of GPL, why not pop over to http://www.menuetos.net/ and ask why the 32 bit version is GPL but the 64 bit version is closed source freeware? Isn’t that going backwards?
More arrogance, speaking for everybody. Didn’t you call me on that? ;-) I have no objections to the Castle licence. As for whether I like it – from my point of view (a non-commercial point of view), it is as good as an open source licence, I can download the RISC OS sources, hack as much as I like, build the results. I can learn stuff (like messing with the memory mapping!). The licence doesn’t get in the way and it doesn’t restrict what I can do. So, yeah, I guess I like it. Could it be improved? Perhaps. The ARM only clause is a bit weird given what we are talking about. I would not remove the commercial-licence stuff at this point. Somebody somewhere paid money to sort out the source code’s messy history to provide us with everything necessary to build the entire operating system, so if this minor thing is our nod to them for doing this, then I’m fine with that. Should it be replaced? Why. Apart from going “as good as open source” to “properly open source” (which, let’s face it, would make zero difference to me and what I can do with the code), I do not see that changing the licence would bring additional benefits. You said that it opens the possibility to bring in all sorts of GPL code. Well, I think you will discover that one of the fundamental hurdles is not the licence (we have a fair few GPL projects and ports running on RISC OS) but is the vast differences between operating systems.
Did a taxi arrive when you said that? :-)
“if you”? Problem is, when somebody corrects somebody’s writing, there will be obnoxious gits who will check their writing. Wait, did I just call myself an obnoxious git? <grin>
In the absence of actual definitive legal advice, I’m sure you can understand why GPL is treated like Ebola. There are better options. Not just for RISC OS, but for your code in general. You talk about free, yet GPLv3 talks about restriction after restriction. Face it – the GPL has been designed specifically to stop nasty commercial outfits ripping off GPL code. The paw prints of this philosophy are everywhere around it. The problem is, you (third party “you”) simply cannot be “open” while excluding practices that you don’t like. You either have to accept what the bumper sticker says, $#!+ Happens, and hope that the benefits to the open source community outweigh those who would seek to rip off the code for their own use, or you have to accept that a pile of restrictions and unethical clauses will protect the code but it isn’t code that is “open” in any sense other than a bunch of people trying to convince themselves that it is. You can’t have it both ways, “free” and “with restrictions” are mutually exclusive.
? I have the whole cake. Right there on my SD card. Donuts and Brownies, on the other hand… I have a soft spot for those.
PMSL. He’d get stressed, insist on calling it GNU/RISC OS, then talk about spider plants.
Are you saying “he is steadfast and this is good, but we’re steadfast and that is bad”?
Good idea, I wonder about the actual implementation. But, note, the concept of open source existed in the year RMS was born, perhaps even before then. He neither invented open source (although people generally didn’t know that expression prior to The Cathedral and the Bazaar) or free as in freedom nor is GPL the only game in town.
He is vocal and has strong opinions. That tends to ruffle other people who are vocal and have different opinions. Look to the world’s religions for countless examples of this.
Certainly, when one talks of free software, he’s the guy that comes to mind. But don’t forget the Apache licence (used by perhaps the only web server worth thinking about, plus a surprising amount of Cloud infrastructure applications), the BSD licence, MIT licence, etc etc. I think open software is a cause that was evolving, and it would have evolved without RMS. Maybe slower, maybe different, but ultimately in the same sort of direction. Certainly, he has done a lot, just don’t forget everybody else.
Does he even know it exists?
? Has anybody seriously suggested weakening the GPL? Or, to put it another way, if I was to contribute to Linux – especially the purer distros – I would be expected to release my code as GPL. There’s no if/but/maybe. You can use non-GPL kernel modules, however not only do the kernel authors consider kernel modules to be “derived” from the kernel (!), also loading a non-GPL module sets a “taint” flag, and certain symbols and other information may be withheld from non-GPL module (EXPORT_SYMBOL vs EXPORT_SYMBOL_GPL). In short, life in Linux is not friendly to non-GPL code. |
Simon Inns (2484) 108 posts |
I’m trying to decide if that statement is ironic or just unfortunate; but you capture the issue succinctly with that statement.
I think you’ll find it’s quite resilient. I’m pretty sure most changes are not brought about by a softly-softly follow the crowd approach though, but, hey, each to their own; good luck with that! Personally I’d rather be a bull than a sheep. |
Steve Pampling (1551) 8170 posts |
Interesting view and selection of role in life. |
Rick Murray (539) 13840 posts |
I have desire to be neither a bull nor a sheep. I’m fine being a human. |
Simon Inns (2484) 108 posts |
Clearly analogies are as useful as irony around here.
Who knew people would make moral choices all by themselves? I use the GPL to prevent others from closing my source or making money by just copying my work and not adding anything useful (see the Castle license for examples of this type of poor behaviour) – there are a bunch of other reasons too. I certainly wouldn’t object to snippets of my code being used (or the whole thing) in other GPL applications, since that adds and extends the usefulness to even more people.
Great, it’s your choice; however I do object to it. |