An idea to make RISC OS Open Source
Rick Murray (539) 13840 posts |
Warning: Epic long post (nothing of interest on TV tonight ☺).
The Castle licence says: “[…] Castle hereby grants to You a non-exclusive royalty free worldwide licence to use, copy and distribute the RISC OS source code and object code in any medium […]”. While it does not specifically state that the licence cannot be revoked, there is no wording to state that the licence will be terminated by any action other than failure to comply with the licence. As with the GPL, it does not matter if Castle (or anybody else) modifies the licence tomorrow – the version that I have accepted is the version in force today. There is no language whatsoever in the licence that implies this can be removed. Indeed, if you get your wish and RISC OS becomes GPL, you might have noticed that I have a somewhat dim view of GPL so if you don’t mind, I will continue using and modifying RISC OS according to the Castle licence. It has been granted to me, as long as I comply, it cannot be taken away. Conversely, you might find that quite a lot of embedded device manufacturers are breathing a sigh of relief that the Linux kernel specifically states that it is released under GPL version 2 (instead of the usual “or later versions”). The anti-Tivoisation clauses can be onerous. The static linking issues may mean that most telco home router manufacturers are technically infringing upon the GPL because updates are pushed in a binary blob that is flashed into the box as a lump. Some stuff is open sourced by some telcos, other stuff is considered a trade secret and is not released. There is a difference between a “binary blob” on a PC where everything can be separate files, and embedded devices where it is all pre-linked and such.
Castle licence: “Any attempt by You otherwise to copy, modify, sublicense or distribute RISC OS or any Derivative Work shall be void and shall lead to the automatic termination of Your rights under this Licence but such termination shall not affect the rights of any person to whom You have distributed RISC OS or any Derivative Work provided they continue to comply with the terms and conditions of this Licence.” – this is pretty much the same sort of idea as “proper” open source licences. People who take the code from me get the same licence conditions (and so on) and if I am a jerk and the licence is revoked for me, people downstream are unaffected. Everybody must agree to the self-same licence. Thus, everybody does enjoy the same rights.
That would be a rather interesting legal issue. As far as I am concerned, I would ignore such a thing. I have a copy of the licence that I agreed to, and am happy to follow. The. End. Of course, I challenge you to specify exactly where in the licence there is a clause that states that Castle can revoke the licence on a whim (is this even legal under British law? It’s hardly fair dealing). If you can’t find that, at least point to where the licence states that later versions of the licence may take effect upon release. [you won’t find that either]
You mean like the clauses added to GPLv3 that “revoked” a number of implied freedoms of the earlier version?
Uh… Everybody owns stuff. You do understand how copyright works, right? If nobody laid ownership of RISC OS, then there is nobody to grant a licence. Even GPL projects need to say “Copyright BlahBlahBlah”.
Worra-lorra-rubbish. RISC OS is practically open source in every way except specifically OEM.
As far as I can see, for a non-OEM, the current Castle licence fulfils every single one of those criteria except the bit about requiring that the code is applicable to the ARM processor. Frankly, I think Castle could probably take that out as anybody that decides it would be cool to port RISC OS (the core of which is largely written in ARM code) to the x86 family has waaay too much time on their hands. Likewise the applications and stuff written in C could technically be ported, but it’s probably more trouble than it is worth given the differences in OS and the lack of a translation library. I mean, can you really see somebody porting !Paint??? The only reasons I can see for changing RISC OS to GPL are:
or:
I struggle to think of any other “benefit”, given that non-OEM use is practically a regular open source licence. My definition of open source? I get the product. I get the source code. I get to roll my own. I get to modify it. I get to distribute my modifications. I can do all of this right now, with the Castle licence. What would GPL offer over and above this?
State where the licence says this.
Huh? The Castle licence is pretty clear. The licence discussions that I recall are the ones discussing merging other licenced code into the codebase (and why you’ll see no GPL in there). As far as I, personally, am concerned, I usually release sources as EUPL but would be happy for stuff to be included within RISC OS to be offered under the Castle licence. It will make things easier for them, and as the copyright owner of my own work, I can do that.
Pretty lame argument when you consider how many commercial devices contain at least a Linux kernel and Busybox. I understand that some Linux codebase contributions are by salaried employees, but not all. Yet, these things can add value to an embedded device sold by some company. A printer, a router, a PVR, a satellite receiver, a webradio, blah blah blah. It is true that there are people working for free, and they are even working for the commercial benefit of a company. That said – I understand that Castle cannot divulge sensitive commercial information on licence uptake, however I rather suspect that the non-OEM people (that’s most of us here) are seeing a lot more benefit than the commercial ones. I have an itty-bitty Pi. It runs RISC OS. This is due to the efforts of numerous people and especially Jeffrey. Will it benefit Castle? Yeah, it will. But it benefits us more. A current example – Colin’s modifications of the USB code. Or the work on EDID, or the DisplayLink code, or… You get the idea? Jeffrey added:
As long as we are in compliance with the licence, where is the clause specifying that it may be revoked? Castle may discontinue, but this doesn’t mean we need to. If this shutters ROOL, then somebody with server resources can recreate it so long as it is in compliance with the stated licence. Chris:
Oh, I’d love to buy RISC OS from both parties, grant all of the ROLtd code to ROOL so people can stop arguing over which version is better, give Aaron a specific right to continue using RISC OS in his emulator… everybody benefits. I’d also take a nice long holiday in Shimane Prefecture and hire some heavies to kidnap Gerph and offer him whatever bribe would make him consider working with RISC OS again (given his depth of understanding of the OS). And I’d also get somebody somewhere to roll out a proper build for the A9Home boxes – all six of ’em. :-P Oh, and I would specifically not GPLify the codebase. Not because of my inherent dislike of the GPL, but because of the rather large (and fundamentally important) chunk of code that is not Castle licenced that – even if I bought the rights to all of the RISC OS code – I would not be able to modify without tracking down each and every copyright holder and getting their permission to make these modifications. This is why any talk of GPL is doomed to failure – it does not co-exist with other licences in a linked blob. Which is exactly what a RISC OS ROM image is. Back to Simon:
Uh, yeah. They kind of do if the software is the product. To quote a web search regarding selling GPL software: Under the GPL, while you can sell it, there’s really no point in buying it.
Actually, that’s fine by me. I gave up a long time ago making money off software, and frankly I am amazed when a crappy lame-ass smartphone “app” is snapped up for millions and millions.
And it says this where ?
Uhhh…. Wait… Should I be banging my head on the wall now? Steffen:
What is interesting is that Simon said “Although these days I only publish for AVR since the PIC has a closed source compiler”. If RISC OS was a GPL project, I would use it (as it is a very nice OS) and I would if I was able, make a few small tweaks here and there. David:
It is not “open source” in the OSI meaning of the term, however as a non-commercial user I enjoy pretty much all of the fundamental benefits that open source licences have to offer, save for the “must be ARM”, but that’s hardly relevant in reality. For my use, Castle licence == Open Source. It isn’t, but it is just as good as. Back to Simon, this is like watching tennis:
Maybe to aid with US law to prevent wiggle room? You will notice also specific wording in the GPL regarding patents. Not relevant here (…yet).
Problem is, different jurisdictions can easily have different ideas of what a copyright term is I should point out that the GPL v2 does not contain this text. Nor does it state that the licence is irrevocable. [ http://www.gnu.org/licenses/gpl-2.0.html ]
That is true, but on the other hand, terms that are not specified can’t be enforced unless there is specific wording implying that the licence itself may evolve – for example iTunes’ UK terms includes this text: “iTunes reserves the right at any time to modify this Agreement and to impose new or additional terms or conditions on your use of the Service. Such modifications and additional terms and conditions will be communicated to you and, if accepted, will be effective immediately and will be incorporated into this Agreement. In the event that you refuse to accept such changes, iTunes will have the right to terminate the Agreement.”. You will note that the Castle licence contains no such wording.
What? Where has anybody said this? You want to – seemingly arbitrarily because it does not please you either alter the licence terms of RISC OS or work out a way to buy RISC OS from its current owners. We may sound negative towards this because, frankly, there are many more important things to direct our efforts towards. The Castle licence is not perfect, but it is not bad, and it offers an adequate level of “freedom” to use and reuse the OS code – something that would have been unthinkable not so long ago…
Wow. Really?
Jeez – throw your toys out of your pram much? Look, it is really rather simple. Unless you are an OEM trying to dodge paying Castle, you get the code, you get to modify it, you get to release your own modifications. The only thing you don’t get to do is charge money for it. [or port to non-ARM, but that’s not exactly realistic is it? ;-)] How is this limiting you? Because the code is not as free as you feel it should be? Because you have some sort of hang-up over the company that paid for RISC OS and developed it beyond Acorn’s 26 bit version and released the source code to you from selling it commercially? (all of that didn’t happen for free, you know) Because you are worried about a bunch of contract terms that don’t even exist? Because…..? The source is a tarball on this site. The official dev tools are a commercial item, but good luck if you’d rather use GCC (the licence does not forbid this). You can hack, tweak, modify, and roll your own. I build my own ROMs, often for little reason beyond “because I can”, and it’s useful to have all the sources ready for tweaking stuff. Like my build has Adjust-click on Switcher to open Config (posted by me here, improved by Fred Graute below). Isn’t this the sort of thing we’ve wanted to be able to do to RISC OS since the ‘90s when we noticed quirks and behaviour that didn’t match what the documentation said? We could even take RISC OS in new directions (like RISC OS Pico – imagine if that booted straight into a 6502 emulator – fastest damn Beeb ever). Okay, it isn’t GPL and we can’t sell it without buying a licence, but I think if we did a straw poll, there would be few of us that consider these things to be critical limitations. I certainly don’t. So… you know… just what exactly is your problem? |
Steffen Huber (91) 1953 posts |
Simon, many of the contributors here (real contributors) have considered and discussed various ideas with respect to licencing for a very long time. The pros and cons of the various licences are well known. I consider it pretty arrogant to come along, show your unwillingness to read and understand the facts that have been discussed again and again, and blame it on some kind of “negativity”. I would also appreciate if members of the GPL fan club start to understand that not everyone is as fond of the GPL as they are. And just because a licence is not an OSI-approved Open Source licence does not mean that it is a bad licence. Your idea that Castle could revoke/terminate the licence for source code already distributed under a given licence is hilarious. The Castle Shared Source licence is not the best licence of the world. But it is good enough, and changing it – if possible at all – will take a lot of money and/or time and/or energy. Money, time and energy better spent elsewhere (e.g. contributing to RISC OS). |
David Feugey (2125) 2709 posts |
I would add that it’s even better, because a bit of money comes back to the makers of RISC OS.
That’s why a lot of developers refuse the GPLv3. As copyright holders, they don’t want not to be able to change their mind.
I did understand one day that it’s really the best one for RISC OS :) It goes as far as possible (since most copyright holders will not change their code to GPL), and it gives back some money from people that sell products (no different as Android, where most companies pay a licence to Google. Yes they do.). The point is that you can buy RISC OS, you won’t have the right to open source it… as you can buy Java, you won’t have the right to close it :) But you can go from open source to open core (MySQL) or from closed source to shared source (RISC OS). I just would be more happy if the web pages of Castle were more clear on all the aspects of this ecosystem. The licence, the partners, etc. |
Alan Robertson (52) 420 posts |
Although Simon’s view on GPL seems to be out of favour with the majority of respondents on this thread, I’m a strong believer in it’s always good to revisit past decisions from time-to-time in case it highlights something that needs to be done. So I found this most enlightening to see what current views on this matter is. Regardless of different licenses available, there is one question that I’d like people’s view on – how much do they value the RISC OS head license that Castle own? I believe Castle paid in the region of 200 – 250K for it many years ago. My own personal opinion is that it’s worth far less now, even though it is available on the Raspberry Pi. Bidding starts at a low 10K, Do I hear 15K? |
Simon Inns (2484) 108 posts |
Finally Alan R, a voice of reason in this thread. You’re right – it’s not worth much. If Castle would consider selling then it would be well in the range of what could be crowd-funded. As for the rest of the majority of comments in this thread you seem to take a typical engineering approach to making your point: 1. Deride anyone that has a view (doesn’t matter if it’s opposing or not) So, no; I’m not American (although I have lived there and I have many friends there – the fact that you generalise about 310 million people surely marks you as British though) and neither do I like to ‘throw my toys from the pram much’. As for being ‘arrogant’; well, I would state that I’m an idealist; it is possible for people to work together to improve things for each other. Saying that RISC OS is ‘no worse than Android’ is the funniest example. It’s a case where we were all given something gratis and then a company (Google) takes that freedom away piece by piece. Nice example. I guess RISC OS ‘open’ is as good as Apple too? Wonderful. All I suggested was that we could work together to make RISC OS open actually open. If that makes you feel like you should insult me, then go ahead (or should I say – continue on). |
Colin (478) 2433 posts |
x |
Simon Inns (2484) 108 posts |
I’m being defensive due to the whole tone of the replies to this thread. The whole “n00bs have asked this before, but what do you know?” attitude is tiresome to say the least. I’m guessing there are, what, >5 core developers here and the “don’t touch my baby” attitude seems to explain why (well, that and the fact it’s not open source). Besides Colin, I don’t recall calling anyone an idiot. If you want to spend your time producing code for closed-sourced project gratis then go right ahead. My point (again and again) is that you don’t have to; we could work to make RISC OS actually open (as in open source rather than just the domain name of this site). |
Erich Kraehenbuehl (1634) 181 posts |
I’m no developer, no programmer. Risc Os still exists and continues, after i’ m just thankfull for that. and i want to say thank |
Malcolm Hussain-Gambles (1596) 811 posts |
“Here, here” to Erich! |
Colin (478) 2433 posts |
x |
Rick Murray (539) 13840 posts |
Read: finally somebody who sort of agrees with me
That may be true – but as it stands, it is only your opinion and figures that Alan clearly states are his personal opinion. In other words, you don’t know the value, you’re guessing.
Ah. I see. You run out of logical arguments and explanations so it’s time to just be insulting. Right-o.
Well, the thing is, if you actually considered what we were saying to you rather than “meh, another person that disagrees”, you will have noticed two core points above everything else. I shall state them simply and clearly for you.
I will elaborate slightly on the first point, just to reinterate why mucking around with the licence is going to be a lot more hassle than it is worth. You originally suggested the GPL, and I shall skip over why a lot of software companies fear the GPL v3 (it makes it extremely onerous to link in proprietary code) and instead concentrate on the very specific example of applying the GPL to RISC OS itself. A you know, the operating system is supplied as a big statically linked blob. A “ROM image”, although the term is a bit of an anachronism these days. According to the GNU GPL FAQ – if you write a GPL program in something like VisualBasic, you cannot supply the application with the necessary VB libraries because it would require VB’s source to be GPL. The libraries must be distributed separately. Don’t take my word for it – it’s right there in the FAQ. Therefore, it stands to reason that one part of RISC OS’s binary image being GPL would require the rest of it to be. The problem is that there is a fair amount of code that Castle do not claim ownership over. If Castle agreed and said it was perfectly okay to change the kernel to GPL, we could build a GPL Pi image today. Only it will have no HAL. It will have no networking. It will have no USB. It will have no…..do you really think that it is good use of our limited resources to reinvent all of this code simply because a few idealists don’t think the code licence is free enough?
I actually asked the question because of numerous differences in the legal systems meaning that such things might need to be stated. Ask yourself why the original GPL v1 and the extremely widely used GPL v2 do not include the language that your rights under the licence are “irrevocable”, while GPL v3 does? Why was it necessary to explicitly state something that could have been inferred from the wording?
Yup, you’re right. It is possible to improve things. But we are never going to agree. I see work made to RISC OS itself as improvements. If Jeffrey should ever find himself in my part of the world, he’ll absolutely have beers on me. Or coffee, if he prefers. ;-) You are an idealist, that’s fine. But a Scotland full of idealists yesterday woke up to a reality and thought “oh crap”. No amount of singing nationalist anthems was going to answer the questions that needed answering. That is why the United Kingdom is still united. The thing is, when somebody comes with an idea out of left field and persists with it to the point of getting insulting to the regulars who aren’t instantly taken with the idea – I want to know why. If you strip away the idealism, what is suggested is to take RISC OS away from Castle and perhaps relicence it. Why? Has Castle been unfair in their terms? Are you really suggesting buying out their product and essentially cutting them out of the RISC OS world based upon your personal concept of ideals? To suggest to crowdsource money to buy what we already have? What are you not telling us?
Android is a good example of the danger of using GPL in embedded commercial products. While the idealists talk big about freedoms and code sharing, the text of the GPL requires full source code release. This means that technically it is difficult to develop any sort of proprietary product that can co-exist with GPL. A company cannot perform R&D, bring something to market, and expect to have a viable proposition if it is a requirement to release all of the source code. That makes it too easy for somebody else to clone their product and steal their business. To GPL RISC OS would effectively slaughter it’s chances of being useful in embedded systems. The Android example is interesting. Android is a giant copyright infringement, as a certain Mr. Stallman would like to make us all know. And there have been numerous threats to sue Google and each of the phone developers. Unfortunately GPL’s strength is also it’s weakness. A court will require the copyright holders to come forward and state their grievance. It might be possible to do a class action if enough of them could be rounded up, but to date this has not happened. Why is Google eroding the GPL’s freedoms? Simple. The GPL wants to apply its concept of freedom to everything even so far as other stuff included within the same “package”. By going the GPL route, you submit to being constantly nannied by Stallman about a peculiarly skewed concept of freedom, ironically in a licence that is itself lacking in said freedom. Apple, by the way, uses it’s own kernel. It is not GPL. (I think it is BSD but I’m not sure) When software is your product, the GPL may prove to be ultimately damaging.
With a software licence that talks about freedom while using itself to restrict freedoms? As I asked before – which part of Castle’s licence do you feel is not free enough for you? |
Rick Murray (539) 13840 posts |
Addendum – a very spectacularly important point was raised in Colin’s post. While I would feel happy to release my code to RISC OS under the existing Castle licence, Colin would prefer to use a bsd licence. These are our choices to make and as long as there is no deleterious effect to RISC OS as a whole, we can choose a licence that fits in with our desired degree of code sharing and freedom. |
Andrew McCarthy (460) 126 posts |
It’s good to see the healthy debate here. Simon has raised some very good points about Open Source and so have others. As we all know, Castle is a commercial company and the people who own it paid for it. Therefore, I can only applaud them for trying to get a return on their investment and so with RISC OS Limited. I wonder with Castle’s website having changed recently has the opportunity passed to make RISC OS open source. Crowd funding sounds fun! So that idea has to be applauded, the key thing here is about the survival of RISC OS and people working together to make that happen! |
David Feugey (2125) 2709 posts |
Android is Google work. They give us gratis. But not all the pieces. You want to make a commercial device? You need Google Play. And you’ll pay for it.
Yes, but you don’t propose it the right way The solution would be to give money to Castle to get RISC OS licenses for free, forever. If free for all, RISC OS would be (probably) an open source product from an OSI point of view. Castle will still be the boss, but there is always ownership, patents and copyrights on open source code. For example, Linux is property of Linus Torvalds and the code copyrighted by all the developers. RISC OS is today open sourced, but not for commercial projects (so not OSI compliant, because free only for free projects is what we call ‘shared source’). Extend the first to the second (one license for all), and make you own conclusion. Absolutely no need to change of license (of ownership), once again. I would be OK for this kind of solution. We could even not to have to pay. Castle could make RISC OS free for all, but sell some add-ons for example (a remake of the Internet suite, Acornsoft titles, DDE, PCEmu, Replay, Java [OK, not this one]…). Q3D could do the same (bits from Select, port of VARPC, etc.). That would be fantastic. In fact they (Castle, Q3D, RComp) should use crowdfunding for that :) |
David Feugey (2125) 2709 posts |
Give me xxx to have my software for free… Give me xxx to get a 32bit conversion of my titles, etc. |
Rick Murray (539) 13840 posts |
Brilliant typo! |
Raik (463) 2061 posts |
That’s only half truth. Android is Linux-based, and so any parts are naturally free and you pay a high price … they collected all information of you and you have only a small control. Parts of the rest we already discussed in private mails. The best pieces from all RISC OS versions … a dream. |
David Feugey (2125) 2709 posts |
Aïe :) |
David Boddie (1934) 222 posts |
It’s a shame that this thread has descended into a FUDfest over the GPL from the usual suspects and fairly basic misunderstandings about how copyright works, but that’s pretty much what I expected to happen from the start. Would it have touched fewer nerves if Simon had suggested using a BSD license instead? If it is actually impractical to consider relicensing in the first place then that might also place limits on how the OS can be used and distributed in the future. For example, if Castle decide to relicense the software themselves but can’t negotiate relicensing of certain components then you may lose the right to distribute those components. If they are core components then you won’t be able to ship ROMs at all. It may become harder to track down and negotiate changes later, so this is a problem that won’t go away. To at least make a constructive request: is there a list of “problematic” components that either need relicensing or open sourcing in any sense of the word? |
Jeffrey Lee (213) 6048 posts |
FWIW I’d be happy for you to work on RISC OS (as I’m sure many other people would be), but you’ve made it pretty clear in all your posts that you’re not interested in working on it under the present licence. For some people changing the licence to GPL would be a radical thing, hence the hostile reaction – it’s not that they don’t want you to touch the baby, it’s that they don’t want you to come up and kick it in the face. The rest of us are too busy, too indifferent, or too jaded to get involved with such a project. This kind of change requires someone with dogged determination to head the charge and see it through, but you don’t appear to be willing to be that person. Hence our arrival at this impasse. Have you considered that there are many other RISC OS related projects which are GPL licensed and would benefit from an extra pair of hands? GCCSDK, NetSurf, RPCEmu, and ArcEm to name a few. RISC OS is more than just an OS, there’s a full ecosystem of apps out there. Or if you don’t like working under the Castle licence for free, why not get paid for your work? ROOL have a bounty system up and running. The monetary rewards might not be much, but it’s better than nothing. Or if you want to work on the OS without working on Castle code, why not take one of the closed source modules and create an open source clone? It’s happened before (most recently with Sprow’s BSD rewrite of the MimeMap module), so there’s no reason why it can’t happen again. Or even rewrite something for which the source is already available – if RISC OS is going to survive we’re eventually going to have to transition to ARMv8 and 64 bit, and the only sensible way to do that is to rewrite all the assembler components in C. |
Dave Higton (1515) 3526 posts |
I find myself wondering more and more: exactly what problem would relicensing RISC OS solve? |
Colin (478) 2433 posts |
x |
David Feugey (2125) 2709 posts |
None. RISC OS already uses an open source licence, but limited to non commercial works. There is no need to change the licence, but perhaps, one day, to ask Castle to open this license to all uses. I’m pretty sure it’s somewhere in the long time roadmap of Castle :) |
David Boddie (1934) 222 posts |
I am saying that only the copyright holder can relicense those components unless their current license allows relicensing by other parties, so it may be the case that a relicensed OS couldn’t be distributed with those components if, for example, their licenses were incompatible with the OS license or their licenses prevented it for some other reason. I’m only talking about distribution with a relicensed OS, not with the current OS, so I am saying “a” not “b”. Without knowing exactly which components fall into this category, or what arrangements are in place to allow their distribution, it’s difficult to know if there’s a real problem or not. |
Simon Inns (2484) 108 posts |
Well, there’s the rub I guess. RISC OS is not open source. If you are willing to believe that it is, then there isn’t much to discuss. For the record, I like RISC OS and I appreciate all the hard work that has gone into keeping it alive. I even purchased both the full DDE and a set of IOMD ROMs really just to show support (the DDE is a curiosity more than anything else; personally I’d only work with an open source compiler tool-chain so others can freely use and compile any code I produce). So, I accept defeat; there seems to be no issue within the core-community that RISC OS is, and will remain, a closed (or ‘limited use’ if you prefer) source project. So (as suggested), I will have a stab at some application development instead which I can GPL. Shame though, since I have a lot of experience in low-level USB development which could have been a more beneficial contribution. |