An idea to make RISC OS Open Source
Rick Murray (539) 13406 posts |
I think “limited source” might be better. Closed source is inaccurate. As a non commercial I can use RISC OS in a near open source manner. Would we have been happier if BSD was suggested instead of GPL? Quite possibly but I’m really struggling to see what problem this argument is attempting to solve.
The irony here is that if you did this work and licenced your code GPL, we could not use it within the ROM image. This is a problem, and a lack of freedom in, your preferred licence. |
Simon Inns (2484) 108 posts |
Actually it’s a problem with the ROM’s licensing IMHO (hence the motivation behind my original post). The GPL ensures that the freedom given by the license is perpetual and cannot be revoked. That’s the important distinction with GPL – it is a license which focuses on ensuring you never loose the freedom it gives as opposed to maximising the freedom you have right now (which can then, later, be taken away). If you put my code in the ROM and Castle make money from it, they are enjoying a freedom which is denied to me. Not fair and not open. |
Colin (478) 2433 posts |
x |
David Feugey (2125) 2687 posts |
Who say this? Who? Let’s be clear: So, yes your project is interesting, and no, it’s not the right way to make it. And you’re OK |
Simon Inns (2484) 108 posts |
“Who say this? Who?” – well, that’s a simple question. I do. |
David Feugey (2125) 2687 posts |
No. These terms are only inside the GPLv3. And they are not for users, but more for developers. With GPLv2, a developer can choose to stop providing its code to the open source project. He is the copyright holder. He has some choice. With GPLv3, once it’s GPL, it’s forever. In a way, your code, is not you code any more. The perpetual thing has no advantage for the user. When he downloads some software, it’s under GPL forever. Next version could become closed source, but 1/ you can fork the previous one 2/ it’s almost impossible (every developer should ask for this change). A lot of people don’t want the GPLv3. As a developer of open source software, I can understand this :)
Absolutely. In fact, the whole problem is not that Simon wants RISC OS to be open source (see my 1 point plan), but that he wants RISC OS to be a free software, placed under the GPL. Two very different things. Castle model is not endorsed by OSI, just because it’s a dual licensing system. Kill the OEM one and all is OK. |
David Feugey (2125) 2687 posts |
Tututu. I was talking of this:
I’m pretty sure nobody believes this in this thread. Nobody told this anyway (OK, you did). |
David Feugey (2125) 2687 posts |
Nota: the (very) funny part with GPLv3 is that you’ll never be able to switch to a further version of the GPL license. Yep, it cannot be revoked. |
David Boddie (1934) 222 posts |
That’s why the wording of the GPL often includes the optional upgrade text: This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Not everyone includes the option, which can cause problems later. |
Colin (478) 2433 posts |
x |
Colin (478) 2433 posts |
x |
jim lesurf (2082) 1348 posts |
I’m not quite clear which practical situation you’re referring to here. Can you explain a case where you might be able to make money from putting “your code in the ROM” which Castle would block? More generally: Have you examined the history of how we’ve reached the current situation? The root problem here is that the IPR isn’t simply owned by one company or person (e.g. Castle). And there is a bitter history of arguments about who has what IPR. It took a lot of time for people to steer around that and get as far as we have. Because of that complex history it is actually something of a miracle (and a triumph of the patient reasonablness of some key people) that we still have an OS under development that people can use. Plus the reality is that a fairly small group have spent a lot of time and effort on skill on this. I suspect that if all they wanted was a well paid job they’d be elsewhere and the OS would have vanished many years ago. I can understand your wish that RO was akin to Linux. I’d also suggest that people aren’t trying to simply rebuff you when they’ve indicated that you would be welcome to see if you could track down and pursuade the (multiple and in some cases unknown to us) IPR owners. They are also trying to convey the sheer difficulty of this because of the history, etc. The current situation isn’t perfect. I think many of us would love it to be totally free and open. But as things stand, what we have better than having no OS for those of us who like using RO. Jim |
David Feugey (2125) 2687 posts |
I saw it sometimes. It solves some problems, and open the door to future ones.
That’s funny, because, if Castle makes money from it, that means that other people make money from it (and probably you). Anyway, dual license is not uncommon in the open source world too.
Exact. |
Simon Inns (2484) 108 posts |
Hi Jim Here is the bit where they deny me the right to make money: “1.2.3 You shall ensure that each Derivative Work distributed by You is distributed and licensed in its entirety at no charge” and here is the bit where they give themselves the right to make money from my code: “1.2.5 You hereby grant to Castle a royalty free worldwide licence (with the right to grant sub-licences) to incorporate into RISC OS or any Derivative Work produced by Castle, the whole or any part of any Derivative Work which You create or distribute pursuant to this Licence. You acknowledge that Castle may make the whole or any part of RISC OS or any Derivative Work produced by Castle available to OEM organisations on commercial terms for incorporation into hardware products intended for sale.” The point is not that I want to make money from contributing; I was simply demonstrating the unfairness of such licences – my code is my code to do with as I please (i.e. GPL it), if I give it freely then I expect everyone else to get it freely too. When David F states things like: “No. These terms are only inside the GPLv3. And they are not for users, but more for developers. With GPLv2, a developer can choose to stop providing its code to the open source project. He is the copyright holder. He has some choice. With GPLv3, once it’s GPL, it’s forever. In a way, your code, is not you code any more. The perpetual thing has no advantage for the user." There is a clear misunderstanding about the protection of freedoms GPL gives: if I give you something freely which you want (i.e. code, application, RISC OS, etc.) and I cover it with a licence that says it’s free and I can’t take it back – how is that in any way, shape or form, not an advantage to you; the end-user in this case? It’s an absolute best-case scenario for all end-users – …and you don’t even have to pay for it. |
David Feugey (2125) 2687 posts |
1.2.3: you have a free license for free projects. for commercial projects, the OEM license applies. Remove the OEM license, and you have the right to use it for no charge or commercial products, Castle too. Problem solved. You just point again and again the OEM exception linked to the dual licensing. Yes, we know that this exception means that RISC OS is not an OSI certified project. Suppress it and it will be an OSI certified project.
You don’t have the right to make money without paying a licence of the OS.
No. Once more, you don’t understand the point. You CAN NOT revoke the GPL for a given version of a tool. If Linux 2.4 is GPLv2, it will EVER be available under this license. A license fixes a point in time and space for a product. If I want to change it, it will be for a future product, or a different edition of the same version of the product. But if only 1 guy downloaded the GPLv2 version, he can rely on “You may copy and distribute verbatim copies of the Program’s source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty, etc.” So he can copy it under the GPLv2 license. There is no limit in time here. It’s forever. In GPLv3 “All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met.” means that once you software is licensed under the GPLv3, it will keep this license forever. Not only for the current version, but also for all the future versions (we don’t talk here of ‘this version’ but of the ‘program’). Technically, you will even not have the right to switch to a future GPLv4 (that’s why some people add a little text to change this). It’s a sort of anti-Oracle license. For all these projects with only one company that provides code. Nothing really important for a community project where the license can hardly change (everybody must be OK, even the dead ones).
“When you say, it’s free, you can share it as free”, you can’t take it back before the next version. That’s why the GPLv2, the Apache license, the BSD, the MIT, etc, etc. don’t need to talk about this. This is a license. You change it, you break it. It’s not a law, it’s a contract. If something is not said, it’s not possible. If you wan’t to take it back, it must be written in the license. Summary: the license of the version of RISC OS you’ll download today is the current Castle one. And they can’t take it back once downloaded. Contract is signed. It’s the same with almost every licenses. When we talk of future, it’s ‘future editions/versions’. RISC OS 5.20 is from july 2013, and will ever be. Too late to change the license. Date of distribution does not matter. |
Colin (478) 2433 posts |
x |
David Feugey (2125) 2687 posts |
I’m an idiot too.
Because he makes confusion between the date of download and the date of release.
You just understand the point :) |
Rick Murray (539) 13406 posts |
Colin:
I see. So due to the restrictions of a supposedly open licence, the way to get a great and working USB stack written by Simon would be to load up RISC OS and then softload the USB driver? Would that be before or after the keyboard, mouse, filesystems, etc have started up? It’s a preposterous situation – but I guess no less crazy than some mobile phones having two processors to permit the locked-down radio firmware being associated with GPL code (such a thing would blatantly fail FCC type approval, and I would imagine ETSI feels the same way). Simon:
Well, as an end user and not a corporate entity and with no intention of attempting to make money off of RISC OS, I say that the current licence is as good as “proper” (OSI approved) open source.
While this makes sense for some end users, the GPLv3 is dangerous for companies wishing to use Linux, say, in an embedded device. Let us consider an example. At my place of work we have machines that do some of the production work. I won’t go into detail, but imagine a pack of pots of yoghurt and how the yogurt gets into the pots. A squirter machine. Now lets say I can put together a more intelligent squirter – it has more sensors and feeds this information back to the controller. Our current machines are controlled by NS5 PLCs (I’ll let you Google that). What makes a smart machine smart? Answer? The software. Am I able to build a little ARM board, install RISC OS as the base OS, create my intelligent software as a module so it can all be loaded into the processor’s memory at once (and no specific need for a filesystem or media available). The Castle licence says “If any part of any Derivative Work distributed by You can reasonably be considered an independent and separate work then this Licence shall not apply to any such part where You distribute such part as an independent and separate work;”. This is slightly ambiguous, however I would imagine a completely separate chunk of code – distinct from the RISC OS codebase – can be written and merged into the ROM image. Why? Because such things are already happening – look at the low level SD driver [ https://www.riscosopen.org/viewer/view/cddl/RiscOS/Sources/HWSupport/SD/SDIODriver/ ] and notice that it is covered by the CDDL, coexisting with other parts of RISC OS. The CDDL text actually says:
Alternatively, am I able to install a little ARM board, set up Linux as the base OS, and link in my custom smart code into something that will be considered the device’s firmware? Practically, no. GPLv3 says c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable Section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. There is a clause for “agregates” afterwards, but given that there is (and has been for a long time) fires raging over static vs dynamic linking, and the FSF’s attitude that (quoting the FAQ) “Where’s the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide. We believe that ”[…blah blah blah]. In other words, it is not clear. It is not clear because of the infectious nature of the GPL.
No. It is very definitely a problem with the GPL. The other licences specifically cover their own bits and co-exist and do not attempt to land-grab. The GPL specifies that if one single piece of GPL code in included with a product (and this is vitally important for RISC OS given that the core of the OS is a statically linked chunk of code), it obligates the entire codebase to be GPL. Not just the GPL parts, everything. This is, in practice, impossible, as there is no single copyright owner of the entirety of the RISC OS code. Look at the SDIO code, it starts saying this:
Very, specifically, not licenced to Castle or using the Castle licence; but incorporated into the codebase because it can be. Because CDDL is a licence with more freedom than GPL understands. In fact, consider this part of the GPL: Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users’ freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. It’s the summary part of the so-called “anti-Tivoization” clause in GPLv3. While as a coder I can understand that it would be nice to have the source code for numerous devices – I could fix quirks and bugs in my satellite receiver, I could get rid of that XXXXing Facebook app in my phone, I could……the problem is that not only is it a security nightmare from the point of access to closed firmware systems (imagine if I wanted a better signal so I reprogrammed my phone to output power beyond what was legally available?), it is also a support nightmare. If somebody’s box has a fault, what have they done to it? Modern devices running Linux – routers, receivers, TV boxes, etc – are not intended to be user modifiable. They are modern day white goods. There are a few skilled programmers who are capable of improving such devices, and there are a lot of people who may end up bricking their equipment. Perhaps at the company’s expense. Either way, I can imagine that acceptance of Linux as a useful embedded OS would die quickly if the kernel went to GPLv3. At least GPLv2 doesn’t prevent this stuff, and the kernel maintainers have gone on record stating that they don’t care either way. Which is why it is GPLv2. David:
I ought to find another thumbs-up clipart for you. I didn’t spot this when reading through the GPL, but it actually makes perfect sense. The banner might say “or later version” but the licence states – specifically – that it is irrevocable, which means – as you point out – that if you adopt GPLv3, you’re stuck with it. <spooky echo>Forever!</> That said, is this really a surprise given the utter lack of clarity of what is and isn’t covered (the linking issue) and the “oh well, judges will sort it out”. Is this really a surprise from a guy who bangs on and on about “ethical choices”, as if seeing that something better might exist is somehow “unethical”? All of this effort and time expended, and nobody has yet come up with a solid sound reason why we should alter the RISC OS ownership and/or licence other than “somebody” (who is not an active developer) doesn’t think it is “free” enough and they have issues about Castle making cold hard cash1 off of RISC OS when they can’t do the same. Colin:
I didn’t bother stating any such thing. Everybody already knows I’m an idiot. (^_^)
Depends upon the licence. A licence can often be terminated by either party (though I recall in the UK some recent legislation (1998ish?) meant that such termination could be legally revoked if it was done for malicious reasons). This is not the same as an open source (or almost open source) licence that grants you various rights provided you obey the terms of the licence. As I stated above someplace, Castle could GPL RISC OS tomorrow. Or they could sigh “jeez” and just cease to offer the code. Doesn’t matter to me, I’d keep going with the source I have and the licence it came with. Yup, it’d be fork. Another one. Oh well. 1 Really? |
Dave Higton (1515) 3404 posts |
Is that the problem you have with the licence? We should look at the other side of the balance. Castle have given us all an operating system, for free, complete with most of the source. This has also given us the right to continue to develop the OS. That cost them a huge amount of money, and they’ve given it to us for free. I don’t mind if they make some money out of code I contribute. They have put in far more than I ever will. Does that alter your view of the balance? |
David Boddie (1934) 222 posts |
Rick:
That’s what the “warranty void if opened” sticker is for. If most users are so uninterested in modifying their “appliances” then manufacturers shouldn’t be so concerned about the few that do. It’s even possible to make devices that are pretty much unbrickable.
But there’s the issue: the manufacturer (or, more likely, their contractors) chose the software and knew what the license said. The license gives their users those rights, even if most of them don’t care. This takes us back to the beginning of the discussion in a way. Since the Raspberry Pi was intended to be a device to help teach children about programming, and to encourage them to learn by studying the software they are using, could it be considered to be merely an appliance given that it has so much in common with the other devices you mention? |
Rick Murray (539) 13406 posts |
Phew. Interesting reading. http://www.forbes.com/forbes/2006/1030/104.html |
Dave Higton (1515) 3404 posts |
But the source IS open to me – to read, to build from, to modify, and to contribute to. There is a definition of “open source” out there that I think you’re using, which redefines “open” in a way that I don’t accept. I object to that definition.
Unfortunately that’s a bit limiting right now. You can’t build RISC OS from source with an open source tool chain. There’s nothing in principle that prevents it, but the work hasn’t been done. Perhaps that would be one way for you to contibute to RISC OS in an open source way? The world is a less than ideal place. We have to live in it anyway. As an engineer, I keep trying to do things that bring the world infinitesimally closer to the ideal. I took the view a few years back that the cost of the DDE is small enough to afford as a hobby purchase, and it gave me access to a wider world of interesting stuff that I wouldn’t have had access to if I’d restricted myself to GCC. We’ve just had a big reminder of a general point, from the Scottish referendum. Millions of people didn’t get what they want, but they have to get on with their lives anyway. |
Rick Murray (539) 13406 posts |
Whoa. You must have some really old tech if you actually need to open it up to change the firmware. These days, I see those warranty stickers less and less. You can do a lot of damage without so much as turning one single screw.
That would be the idealistic approach. Life doesn’t always play out like that.
Certainly. But it is cheaper to make devices that are brickable. For example, instead of sorting out multiple boot loaders (like the Pi), a device could just have updates on a FlashROM where the first part is “reserved” for the bootloader and normal updates are applied afterwards. However, the bootloader itself could be updated if necessary.
Ask your children. I would imagine that if somebody installs RaspBMC, puts it in a tidy little case, and glues it to the back of the TV…then yes, it is just an appliance. However unlike a phone or a tablet, the Pi can be adapted for all sorts of uses, from media player to self-guiding aircraft, and a hundred things in between. So generally, no, a Pi wouldn’t be an appliance. |
Simon Inns (2484) 108 posts |
We are not talking about Linux here; it already has the freedoms that (it seems) so many of you would deny the RISC OS end-users. To quote the GPL: Nobody should be restricted by the software they use. There are four freedoms that every user should have: the freedom to use the software for any purpose, the freedom to change the software to suit your needs, the freedom to share the software with your friends and neighbors, and the freedom to share the changes you make.And there the Castle “shared” licence fails. Personally I think you mix up the benefits of RISC OS being truly open-source with how you justify your day-job as software engineers. Protectionism is all very nice, but every time you give up a freedom it is gone for good. GPL gives you rights which cannot be taken back; that’s the whole point. You might think by arguing against it you get freedom, but freedom without the right to keep it is no freedom at all. It’s just delaying the inevitable. There is no commercial value in RISC OS anyway; it’s a fringe OS which is only of interest to hobbyists; the castle license restricts only those who have no commercial interest in an OS which has, let’s face it, zero commercial value. Time to go power up my Amiga 500. At least I can play some games without having to pay for !SparkFS. All of a sudden abandon-ware seems quite an attractive ideal. |
David Feugey (2125) 2687 posts |
How do you guess?
So the licence on today build is revocable? Good to know.
Where is the problem with the OEM license if nobody use it? |