Hello, Guest the thread was called11k times and contains 210 replays

last post from FeralChild at the

BBC BASIC for the MEGA65?

  • The problem starts when you need a matching ROM for the given program, and you constantly have to switch the ROMs. Back in the day I was rarely using my favorite BASIC extension (Warsaw BASIC 3.2 cartridge), because it was changing the memory map in an incompatible way, so I couldn’t run any existing games.


    Anyway, this is you project, you’ll do as you decide.

  • Anyway, this is you project, you’ll do as you decide.

    I don't mean it only on this project.


    The whole MEGA65 project is "open" (open source). You are working on an OpenROM, others will propably do the same ... If you have the needed skills, you even can change the "hardware" in the MEGA65 core (and program e.g. a "VIC-V" or ... or ...).


    The MEGA65 project is "open" and this means that the users will use this "freedom" and build there own stuff.


    A ROM for the MEGA65 core is only a piece of software deliviered as a file. Where should be the difference for the user, if he mount a disk image or he select a ROM file? Both are only transfers of software to the MEGA65.


    So I think we all have to deal with the fact, that a ROM (file) is not the same thing for the MEGA65 as it was for the C64. ;)


    The only fixed things on the MEGA65 are the motherboard, the keyboard and the case. Any even the keyboard and the case can be changed if someone want to do. :D

  • By “project” I meant BBC BASIC port/reimplementation - somehow I think you will be left with the second option only...

    Ahh, okay ... sorry, a little misunderstanding. I will see what option will work fine.


    Although I find it a little "crazy" to have BBC and CBM BASIC on the same ROM. But it's still "crazy" to play with such "old computers" (as my wife said), so all is good. :D

  • Why crazy? Both C128 and C65 have two separate BASIC interpreters. My idea (to use same interpreter, but with changed behavior in the native mode) has both advantages (less work needed, porting software to native mode would be easier), and disadvantages (harder to improve the language, lower performance). My choice was partially due to lack of manpower (someone has to write the Kernal and internal DOS too; I'm really happy I could integrate the BSMON, so that we now have a monitor in ROM), I wanted a way to re-use the current code. If someone has a different idea and actually wishes to spend time on it - well, sometimes the plans do change :)


    Currently, Open ROMs autoswitches from native mode to C64 compatibility mode if it encounters a SYS command (to prevent this, one has to use GO SYS) - but we can change this behavior; it might recognize the 'modern BASIC' software by some magic sequence at the beginning (for example, $01, $00 instead of the start address). This shouldn't be a big deal, although it will require some work within the Kernal to handle loading properly.

    One of the problems I have (which will limit the performance) is that I need to constantly alter memory banking - so that I can fetch data from below the BASIC ROM. A fully dedicated native mode interpreter can work differently - store BASIC program above $40000 (we have at least 128 KB there, some future models may have more) and only use flat memory access for text and variables. This way we could bank-in the whole modern BASIC interpreter (well, at most 40KB actually, which is still a lot) and only handle banking when doing Kernal calls (but the performance hit on these wouldn't be noticeable 99% of the time).

  • Regardless of who does the porting work, I strongly concur with ubik that the starting point should be BASIC IV, as provided here: BBC BASIC IV source on Github.

    Thank you very much for the link to the repository. I cloned the repo and created a branch called "acmesyntax", where I converted the source codes to ACME format. I had to make some assumptions concerning the original MASM syntax, but now the source can be assembled using ACME and the resulting binary is identical.

    See my signature for a link to my github page. If someone wants to continue with this version, remember you have to select the correct branch to see the new files.

  • Thank you very much for the link to the repository. I cloned the repo and created a branch called "acmesyntax", where I converted the source codes to ACME format. I had to make some assumptions concerning the original MASM syntax, but now the source can be assembled using ACME and the resulting binary is identical.

    Great work – thanks very much!

  • The ownership situation

    I've investigated this as far as I think I reasonably can - at least, without recourse to money to (a) provide incentives and (b) pay potential lawyers' fees! And the bottom line is that I believe that we're safe in doing what we want to do. However, I can't 100% prove that, unfortunately, because the situation remains a little murky. So, whether this will be good enough for those on the MEGA65 team who take the decisions remains to be seen.


    Since my last post, I've been in direct contact with Andrew Rawnsley, who's in charge of RISC OS Developments Ltd (which acquired most of Acorn's remaining assets, especially those relating to RISC OS and other 32-bit software after they had previously been owned by first Pace Micro Technology Ltd and then Castle Technology Ltd), and Paul Fellows, who was Acorn's Head of Languages in the 1980s, who uploaded the BBC BASIC IV source to Github, and who continues to work on new versions of BBC BASIC V and VI for ARM.


    Prior to that, I've been in direct contact with Sophie Wilson, who wrote BBC BASIC in the first place, and who is now Director of IC Design at Broadcom. Note that Broadcom bought out Element 14, which is the company that spun out of Acorn when it was broken up in 1998.

    These people are all aware of the plans to produce a MEGA65 variant of BBC BASIC and are happy with the proposal.

    Brief summary of the ownership situation

    One of the founders of Acorn, Sophie Wilson wrote BBC BASIC originally, and was always present at Acorn throughout the company's life. Other people would also have had an involvement, but BBC BASIC was fundamentally her work. Paul Fellows was Head of Languages at Acorn in the 1980s and also had a significant interest, writing (in BBC BASIC!) the ABC BASIC compiler. The copyright of BBC BASIC was, of course, owned by Acorn. Paul Fellows continues to work on the ABC Compiler and BBC BASIC today. When Acorn was broken up, Element 14 was set up in its place. Sophie Wilson remained, and Element 14 continued to own ARM BBC BASIC (non-exclusively). Later, Element 14 was bought out by Broadcom and became its DSL business unit. Again, Sophie Wilson remained head of this unit. So, in essence, Sophie Wilson/Broadcom retains an interest in the ARM version of BBC BASIC. but the other rights that were not relevant to Element 14 were left with the parts of Acorn that were being disposed of.


    The other Acorn properties were bought by Pace Micro Technology plc, though some rights and properties also went to Castle Technology Ltd, a large Acorn third party dealership and developer. Following a few convolutions relating to RISC OS rights and licences, Castle ceased trading in about 2005 but spun off a new company called RISC OS Open Ltd to release RISC OS components on a shared-source basis. Pace Micro Technology itself entered a merger in 2015, and subsequently a new company called RISC OS Developments Ltd was set up in 2018. RISC OS Developments Ltd acquired ALL the former Acorn rights that had previously been owned by Pace AND Castle.

    In other words, Sophie Wilson and Broadcom retain a non-exclusive interest in BBC BASIC in its ARM guise. However, they're well aware of – and supportive of – the current situation whereby the former Acorn rights are owned by RISC OS Developments Ltd and BBC BASIC for ARM continues to be developed in open source form. As far as we know, RISC OS Developments Ltd now 'owns everything', and is the only company with any kind of active interest. Other sub-licenses do exist; notably, Richard Russell offers multiple versions of BBC BASIC on his website and sells a commercial version for Windows. However, this has no bearing on the MEGA65 proposal.

    However, there has unfortunately been a lot of confusion and lack of clarity about what happened when different Acorn properties changed hands, and a definitive statement about exactly who owns specifically the 6502 version of BBC BASIC has unfortunately not been found. Indeed, the precise ownership of this exact asset may not even have been defined. It's not impossible, apparently, that something ('exactly what' is unknown) may remain in the hands of MSDW Investment Holdings Ltd (from the break-up of Acorn). However, if that were the case, it's of limited importance because there's no-one there with any interest in BBC BASIC, so any such rights would be unknown and would never be acted upon; MSDW is a holdings company, not a technology developer. Everyone with an interest in BBC BASIC has given their blessing to the development of a version for the MEGA65.

    Here's a longer, more detailed account of the above (feel free to skip this unless you want to know a little more about each link in the chain)…

    The fate of Acorn properties after the break-up

    This section is a summary for historical context, and can readily be skipped

    Acorn Group was broken up and sold off to Morgan Stanley Dean Witter in 1998; its computing division eventually became a new, more specialised company called Element 14 Ltd in 1999, which ended up designing DSL equipment. When Element 14 was formed, it took the source of ARM BBC BASIC with it on a non-exclusive basis, but most of the other rights, and in particular all the rights relating to desktop computers, were sold to Pace Micro Technology plc, a well-known maker of set-top boxes. Thus, everything that was Acorn essentially ended up at Pace. (This included the unreleased RISC OS 3.8 in the version intended for set-top boxes.)


    In 1999, Castle Technology Ltd, a long-established and large Acorn dealership, acquired the rights to sell Acorn's remaining stock of computers, and so took over hardware distribution and kept the existing range of machines available. Also, RISCOS Ltd was established to complete and release Acorn's unfinished RISC OS 4 operating system for use on existing desktop computers as an upgrade. The initial RISC OS 4 release occurred in late 1999 and then development continued for several years, eventually ending up with RISC OS 6 (jumping major versions from 4 to 6).

    In 2002, Castle Technology Ltd announced that it had reached an independent agreement with Pace, giving it the ability to develop new computers running RISC OS 5. This was a new major-version upgrade of the RISC OS 3.8 source code owned by Pace: although RISCOS Ltd had developed this into RISC OS 4 for use on existing hardware that used its 26-bit addressing mode, RISC OS 5 was developed for new and future ARM processors that supported only a full 32-bit addressing mode. RISC OS 4 and 5 remained software compatible with one another but had slightly different feature sets. Castle launched RISC OS 5 on its new IYONIX pc at the end of 2002, and this represented, essentially, the bringing to market of the new workstation that Acorn had been intending to launch in 1998.

    The concurrent existence of RISCOS Ltd, with its RISC OS 4 for old machines, and Castle, with its new XScale-based IYONIX pc running RISC OS 5, caused several years of unproductive infighting and bitterness between the two companies, and propelled RISCOS Ltd to version-hop Castle's work and produce its own new fully 32-bit version of RISC OS, namely RISC OS 6. So RISC OS 6 was a fully 32-bit version of the latest update of RISC OS 4, in effect, whereas RISC OS 5 was a different branch, derived from the set-top box work.

    In 2006 Castle spun off RISC OS Open Ltd, which was due to develop RISC OS 5 for a range of new hardware. This eventually led to its release on Raspberry Pi and various other systems a few years later. Initially, components of RISC OS were released to the public on a shared-source licence.


    From around 2007, RISCOS Ltd became moribund and its properties were sold off in 2013 to another Acorn third-party developer, 3QD Developments. However, development of RISC OS 6 had ceased several years earlier. Moreover, RISCOS Ltd's license to RISC OS was apparently non-transferable, so 3QD can do no more development work even if it were in a position to. 3QD merely sells a Risc PC emulator for PC and Mac that ships with RISC OS 6. So, this is a cul-de-sac and can safely be ignored; it's not relevant to our interests.


    In 2018, RISC OS Developments Ltd was established to acquire ownership of RISC OS and re-release it on an Apache version 2.0 licence. RISC OS Open Ltd continues its development work, but the license is now Apache 2.0, and the ultimate ownership of the former Acorn assets rests with RISC OS Developments Ltd. Although – as indicated by the name – this is to permit the continued development of RISC OS as open source, in fact RISC OS Developments Ltd now owns ALL the former Acorn properties that previously belonged to both Pace and Castle. As far as we can reasonably ascertain, that will include all the 8-bit rights, too.

    The situation regarding BBC BASIC specifically

    As stated previously, I've made Sophie Wilson aware of the plans to create a MEGA65 version of BBC BASIC, and she raised no objections, but instead suggested that it shouldn't be a particularly demanding job if starting with either one of the C ports of BBC BASIC or, indeed, with the 6502 source that we already have access to. Indeed, she referred to having the 6502 source herself on a floppy disk (perhaps not being aware of the Github release?). So, she's aware of the project and expressed no objections, but rather a potential willingness to help and even make source available.


    More recently, I've had information from Andrew Rawnsley of RISC OS Developments Ltd about the situation. Here are some relevant snippets from his emails concerning the ultimate ownership of 6502 BBC BASIC:

    Andrew Rawnsley:

    Finally, I have also been in touch with Paul Fellows. As Acorn's Head of Languages form the 1980s, the author of the ABC Compiler and the person who released the BBC BASIC IV source on Github, I hoped he might have some knowledge of the ultimate ownership of the 6502 versions of BBC BASIC. Unfortunately, though, he too was in the dark. Useful/interesting points he made were as follows:

    Paul Fellows:

    Quote

    Much of the Acornsoft back catalogue was sold off to superior software (and that was a contractual mess up because not all of it was royalty-free as regards the original authors). But that didn’t include the BASIC interpreter. Logically, the rest of the IPR would have gone to Element 14 Ltd, who probably still own it.


    There was also a BBC BASIC for the Mac, by Pete Cockerel, and which I did some work on for David Johnson Davies' company called Human-Computer Interface Ltd; I still have the source code for that, it’s written in C.

    So… the Mac version of BBC BASIC is one of the versions written in C that Sophie referred to, and which she noted would be a valid starting point for the MEGA65 project. Again, Paul Fellows notes that he possesses the source for this, and the implication is that he would be willing to supply it if it would be useful.


    It's also interesting to note that he thinks that either the ownership of the 6502 version of BBC BASIC remained with Element 14, or was transferred with other material to Pace. Sophie doesn't explicitly know the answer either. However, if the rights do remain with Element 14 (now Broadcom), then Sophie is in charge of that division and is clearly happy for a MEGA65 port to happen. Alternatively, if the rights were transferred to Pace, then they ultimately ended up with RISC OS Developments Ltd, and they're also similarly happy for a MEGA65 port to happen.

    The Ultimate Conclusion

    Without a great deal more digging – which seems extremely unlikely to happen without hiring expensive lawyers to do it (and even then, a definitive outcome may not be achievable), it seems unlikely that we'll ever get a true, clear-cut answer to who owns 6502 BBC BASIC. However, we can state the following as a clear summary:

    • Sophie Wilson, as the original author of BBC BASIC, may still own the rights to the 6502 version; that's simply unclear.
    • Sophie Wilson is aware of the desire to create a MEGA65 port and is entirely happy with it.
    • If Sophie Wilson/Broadcom doesn't own 6502 BBC BASIC then it can only have ended up with RISC OS Developments Ltd.
    • RISC OS Developments Ltd, again, cannot state for certain that it owns the 6502 versions of BBC BASIC.
    • RISC OS Developments Ltd is nevertheless happy with the proposed MEGA65 project.
    • If we wanted a licence to BBC BASIC V (to back-port it from ARM), RISC OS Developments Ltd could and would give us one.
    • There is a small possibility that the 6502 BBC BASIC rights never explicitly went anywhere, and remained with MSDW Holdings. If so, no-one meaningfully owns them now; certainly, there are no interested parties making use of them.
    • Sources to the latest 8-bit 6502 version of BBC BASIC have been released to the public on Github by the former Acorn Head of Languages, and no-one has objected.
    • The ARM source of the latest BBC BASIC V is, of course, already available as open source.
    • There appears to be no possibility of anyone to object to the MEGA65 BBC BASIC project, even if rights do remain with MSDW.
    • All parties with any potential claim of ownership of (or interest in) 6502 BBC BASIC have been approached and informed of the plan to create a MEGA65 version of BBC BASIC, and all have given their blessing to the project.

    I honestly think this is the best we can do. It's clearly not going to be possible at this stage to establish unequivocal single ownership of BBC BASIC for 6502, because the waters are now too muddy. However, what we can say for certain is that all the potentially interested parties have been approach and have given their blessing to the project. Moreover, even if the actual source were not available on Github, we've essentially been offered 6502 source by Sophie Wilson and C source by Paul Fellows. We've been offered a BBC BASIC V licence by RISC OS Developments Ltd if we need one. And beyond that, there's simply no other interested party left to object.


    So my recommendation would be simply to go ahead with the work and publish your source code as open source once it's finished, as you intend. Notwithstanding the very slight uncertainty as to the actual owner and the MSDW ownership potential, the truth is that all potentially interested parties have given their blessing to the plans and there's no-one to object to them.


    If you really do feel that you should cater for the worst-case scenario, then do as Andrew Rawnsley suggests and include a no-quibble removal policy if anyone can prove that they own the rights to the original 6502 version of BBC BASIC and objects to its inclusion on the MEGA65. If that actually happened then you'd simply have to cease including it with the machine – which wouldn't necessarily be a complete disaster in any case. But realistically, that would never happen, especially considering that we have the blessing of the language's original creator.


    I very much hope that all of the above allows you to feel you can proceed with the project.

  • Funny, I also deal with this topic today. :)


    The company I used to work for has a legal department that also has to deal with software issues. At the time, I had closer professional contacts with one of these colleagues and we still chat about private matters every now and then.


    A few days ago I also told him about the problem with the BBC BASIC in the 6502 version and he said I should just send him a few links and he would have a look at it if the opportunity arose. He probably had time for that this weekend and called me tonight. He is certainly not deeply involved in this particular question, but I think he is quite competent on such matters in general.


    I'll try to summarize the most important things:


    As far as he can see, BBC BASIC (6502) is not free of rights. Even if the current rights holder is difficult to identify, these legal claims do not simply dissolve. The rights holder can appear at any time and claim his rights (not very likely, but cannot be ruled out 100%).


    As far as he could see, BBC BASIC (6502) is not open source. It would only be if there was an explicit release for it from the rights holder. It probably doesn't do it at the moment.


    Just because "someone" uploads a source code from it to Github or similar doesn't mean anything in legal terms. It does not include any license information with either of the available source codes. These are "pirate actions" (in legal terms) as he likes to call them. ;)


    In this respect, he urgently advises against bundling the BBC BASIC (6502) in its present form with another open source project. This can also drag it into the jumble of rights and ultimately endanger it as a whole.


    The only option he sees could be an exclusive standalone release as a program and/or patch. In the worst-case scenario, these could be "removed" separately and at least not involve any other project (parts).


    Ultimately, in the best case scenario, it currently boils down to a "tolerance" of the use of the BBC BASIC (6502) by the rights holder.


    More legal certainty is probably not possible as long as there is no corresponding statement from the rights holder.


    And until he's found, you can't even ask him.


    And so the cat bites its tail. :S

  • So: Nobody knows, who owns the rights. It would need a court decision for that. Nobody will ever pursue legal action, because, what's to gain? There is no money to be made. Everybody who as a technical interest in this project is fine with it and supports the effort.


    Conclusion: MEGA will not distribute BBC-BASIC, no matter what. But, we the users should do it anyway. Let's make a kick-ass (no pun intended) BASIC and make it super easy to install.

  • Dear Richard, first of all, many many thanks for your efforts! They are greatly appreciated.

    I very much hope that all of the above allows you to feel you can proceed with the project.

    It's enough to make a private project out of it.


    But, as Snoopy says:

    In this respect, he urgently advises against bundling the BBC BASIC (6502) in its present form with another open source project. This can also drag it into the jumble of rights and ultimately endanger it as a whole.

    With this state of things BBC BASIC will most likely never become an officially blessed & bundled programming language for the MEGA65, because the risk of dragging the project into all kinds of legal BS is just too high... and so it will not be able to do anything towards the 'simply switch it on and start doing great stuff with a great programming language' user experience I had hoped for.


    It really hurts me to say this, and it's frustrating the living hell out of me (remember, I was the one suggesting porting BBC BASIC in the first place), but that's the way things are.


    Luckily, there are at least two alternatives that also don't look half bad. But learning from this experience I'll probably ascertain their feasibility first this time, instead of getting people excited.


    (all just my personal views of course)

  • I have been studying and trying to port BBC BASIC IV for the C65 for a few days now and I will not let myself be deterred from continuing to deal with it because of any legal uncertainties. There is still nothing to be said against a private project.


    But what would definitely be unwise is to offer the BBC BASIC as an "official" ROM for the MEGA65. BBC BASIC (6502) is not open source. This is another legal hurdle than just using it.


    That would also violate the GPL3 license if you put it in the OpenROM in the current situation, for example. Quite apart from the fact that it would be "real nonsense" here: You write an OpenROM to get rid of the copyright constraints with Commodore and then connect another legal conflict area to your leg with the BBC BASIC (6502).


    So open source really only works if you have an explicit release as open source from the rights holder. As long as that is missing, open source is a "red rag" here.

  • Dear Richard, first of all, many many thanks for your efforts! They are greatly appreciated.

    Thank you for saying that. I just hope that this all does finally lead to something useful, rather than just something abortive.


    I do understand the caution here, if not the exact legalities (because I'm no legal expert and I can claim neither much knowledge of nor any interest in legal matters generally!). But it does seem to me that cases should be judged on their actual merits, rather than just theoretically. I appreciate that there have been problems with other aspects, such as the Commodore ROM, where unexpected parties have appeared and caused problems. But because that happened in one case doesn't mean it's going to happen in every case.


    The point with BBC BASIC is that there's a very limited number of parties involved, and everyone who could possibly have any kind of active interest has been accounted for – and, moreover, has given us their blessing. Several companies whose hands Acorn rights passed through have now ceased trading, and in the end, there are only three potential parties left that could possibly own the rights to 6502 BBC BASIC:

    1. Sophie Wilson/Broadcom: Sophie and Acorn were synonymous: she largely designed the BBC Micro; she wrote BBC BASIC. She remains both the author and the most interested single party, and she has given her blessing to the MEGA65 BBC BASIC project.
    2. RISC OS Developments: this is a company run by a very long-term Acorn developer who has done more than most to keep the Acorn scene alive, and has caused all the 32-bit code to be properly open-sourced. It's most likely that RISC OS Developments actually does own the rights, but unfortunately – if so – they're buried in a literal mountain of paperwork that no-one has time to go through properly.
    3. If the matter was really never sorted out back in the late 90s – presumably because no-one thought there could be any further interest in it – then there's a possibility that the rights are technically still held by MSDW Holdings. But this is extremely unlikely (because, according to Sophie, Element 14 took the bits it wanted and then everything else went to Pace… and thus, ultimately, to RISC OS Developments Ltd). And even if MSDW did hold these rights, it has no interest in them and no motivation to do anything at all. It was a mechanism to employ in the break-up of Acorn and ceased its involvement when that business was over.

    So yes, it's true to say that BBC BASIC is not free of rights. BUT the people who own those rights (and they are known even without sight of the piece of paper that says so – there's no-one else to be accountable to!) have given us explicit permission to do what we want.


    As Andrew Rawnsley suggests, we could have the safety net of a no-quibble removal clause if anyone did complain. But (a) the chances of such a complaint happening are so small as to be essentially nil, and (b) even if it did happen, the people raising the objection would have to prove conclusively that they did indeed own the rights. And if all that turned out to be true… we could potentially then negotiate with them and get them to grant us the rights we need. Especially given that we've got BBC BASIC's author's permission to do what we want, the negative scenario seems to me so unlikely as to be entirely discountable.


    And as for the so-called "pirate action" of uploading the BBC BASIC IV source to Github… yes, I can see that argument too. But in reality, the person who did it was one of the two people most qualified to do it, in that he was Acorn's Head of Languages and a person who worked directly with Sophie Wilson on matters relating to BBC BASIC. It would have been made available in this way only with Sophie Wilson's blessing. Evidently Sophie – in her position at Broadcom – saw no reason for this not to happen. It seems something of a stretch to refer to this as 'piracy' (unless you can steal from yourself!).


    In any case, bear in mind that this BASIC IV Github release was the unmodified original source that belonged to Acorn/Sophie Wilson. What we're proposing doing is to produce a new implementation that will only be based on those sources. Sophie has already suggested that any new implementation created in this way would not be subject to the same restrictions – because it would indeed be a new implementation. I'm personally not clear as to the technicalities of this distinction in legal terms, so I may be talking rubbish here, but it seems to me that if you write your own new implementation of something – even with the original source for another platform to help you – then you end up with your own implementation in terms of the new source, and can choose to release this under your own terms. (It's not like the Commodore ROM, where you're making direct use of something pre-existing.) Consider especially that we have Sophie's permission to do this – and that we could also easily get a BBC BASIC V licence if we wanted one (bearing in mind that BASIC V is a complete superset of BASIC IV),


    As a further idea, how about this:


    Would it be feasible, having created a MEGA65 port of BBC BASIC IV, to then back-port the extra language features from BBC BASIC V into it, so that we end up with something that's BASIC V-compatible? I know it would be more work, but if we ended up with a BASIC V-compatible interpreter (one that retained the 6502 inline assembler rather than the ARM one), then we could surely sidestep the problem by obtaining a legitimate BASIC V licence from RISC OS Developments Ltd. Andrew has already told me he'd be happy to licence BASIC V to us. Moreover, it'd produce an even better final product too, because BASIC V is significantly enhanced over BASIC IV, and is an absolutely superb language.


    Does that sound remotely feasible?


    Is Paul Gardner-Stephen aware of these discussions? In the end, I presume he'd have final say if there are any decisions to be made with regard to legal technicalities.


    I do understand the caution, but it just seems such a shame to allow a possibility that's so unlikely as to be nonexistent to cause this idea to be derailed. After all:

    1. there's no realistic prospect that anyone would raise any objection to this project (and even if they did, it could just as easily lead to a clarification of the rights as to a problem);
    2. we have the permission of all interested parties to go ahead with the idea;
    3. a new MEGA65 implementation could surely be released on its own open source terms; and
    4. we've already been told that we can have a BBC BASIC V licence if we want one.

    Surely it's possible to devise a workable solution based on all these considerations…? Having got so far, it'd seem an awful shame to have to abandon the idea.

  • So yes, it's true to say that BBC BASIC is not free of rights. BUT the people who own those rights (and they are known even without sight of the piece of paper that says so – there's no-one else to be accountable to!) have given us explicit permission to do what we want.

    To say it short: ;)


    If this people clearly own the rights of the BBC BASIC (6502) they can release it official as open source and all will be fine.


    If this people don't own the rights of the BBC BASIC (6502) it doesn't matter what they say (regarding the legal situation). That doesn't count anything if the right holders acclaims his rights.


    Edit:


    Even the BBC BASIC (Z80) is not open source. It is "only" free available for download with remaining copyright to Russell:

    The generic CP/M, Amstrad, Einstein and Torch versions of BBC BASIC (Z80) are made available for free download on condition that they always be distributed along with the other files included in the Zip archive. BBC BASIC (Z80) and the accompanying files remain the Copyright © of R. T. Russell, 1982-2002.


    The legal hurdle is the use in other open source projects. For that the BBC BASIC has to be opensource for itself.

  • I don't see that that's true, though. Not in this case.

    We know that Sophie wrote the software and has never personally signed the rights to it away. The lack of clarity here is that Sophie was one of the founders of Acorn, so her rights are aligned with Acorn's rights, and Acorn has since been broken up and sold off. But Sophie has never explicitly relinquished rights to her creation. All we can say is that the Acorn rights were initially bought by MSDW and were then transferred on to other parties, ending up divided somehow between Broadcom (i.e. still with Sophie) and RISC OS Developments Ltd.


    Given the confusion of what happened, this means that – without physically finding the relevant paperwork, which appears to be lost in practical terms for the time being – no-one can display a document to 'prove' that they are the ultimate rights-holder to 6502 BBC BASIC. Though maybe that could change in future; maybe RISC OS Developments will discover the document among the 3ft pile of paperwork that it's acquired.

    As of now, though, even though we know who the rights-holders are, they probably can't do as you say because they don't have access to the necessary documents themselves. What they CAN do, though, is release their source freely to the world – which is what they've already actually done, via Github.


    As for this supposition about "if the right holders acclaims his rights" – that can't happen in this case, because we know that no such entity exists. The exact papers we need may not currently be available, but the paper trail is well known (I've documented it above). The only parties involved today are Sophie Wilson/Broadcom, RISC OS Developments and (slim possibility) maybe MSDW. But the first two of those are the only meaningful ones, and they're happy with what we want to do. MSDW has only a remote possibility of involvement at best, and even then simply has no interests. The chances of any objection are NIL. There are no other interested parties to pop up. Besides, even if such a fictional party did miraculously appear, it would still have to prove its ownership of the rights. And we know that can't happen, because no other party has been involved.


    I understand the need to be cautious, but in this case we're inventing possibilities that demonstrably cannot exist.

  • It seems something of a stretch to refer to this as 'piracy' (unless you can steal from yourself!).

    If I wrote a program for a client and he pays me for doing it, I don't have any rights about this piece of software. It belongs to the client and he decides what he does with it. So, even I wrote the software it didn't belongs to me. ;)


    Unfortunately it is like this: Sophie was part of Acorn at the time and everything she wrote for Acorn in that time does not belong to Sophie (alone), but to Acorn or her legal successor.

  • Even the BBC BASIC (Z80) is not open source. It is "only" free available for download with remaining copyright to Russell:


    The legal hurdle is the use in other open source projects. For that the BBC BASIC has to be opensource for itself.

    I don't believe that's at all relevant. Richard Russell has his own arrangements that were made with Acorn directly, years ago. He has licences to sell BBC BASIC for Windows, for example, and perhaps he was involved with the version of Z80 BBC BASIC that was produced at Acorn for use on its Z80 second processors back in the 80s. I know he's been involved with BBC BASIC for a long time. Indeed, he was my first recommendation for a contact when we started this investigation; ubik got in touch with him, and I believe he was unable to say anything definitive about the rights we were interested in.


    Various other parties had (and in some cases still have) interests in BBC BASIC. E.g. Sinclair's final machine, the Cambridge Z88 'laptop', had a Z80 version of BBC BASIC built into it. There was a Mac conversion of BBC BASIC too, published by HCI, the company that David Johnson-Davies (original head of Acornsoft) ended up at. And clearly there have been various other offshoots as well. They would all have been subject to their own sub-licences, established with Acorn at the time. In other words: they're not relevant to our case, and they're settled in their own terms because they were agreements made with Acorn, back when it still existed.


    As for BBC BASIC being open source for itself… it already is. It's released under the Apache version 2.0 licence.


    Specifically, this relates to ARM BBC BASIC versions V and VI (which are the same, except that BASIC VI uses floating point hardware).


    As I say, I'm no legal eagle, so I haven't attempted to look at any legal texts, and I don't know how specific the wording is about the release of BBC BASIC – or how specific it needs to be – in terms of version. But it seems to me that BBC BASIC V is conceptually the current/final implementation of the language, and it's a complete superset of all the versions that came before it, 100% backwards-compatible with them. So if BBC BASIC, per se, has been licensed as open source, then surely that should also include earlier versions that aren't covered by other individual licences? Not unless the documentation says so explicitly; you don't typically apply specific copyright to just one particular version of a piece of software. Clearly versions for which separate license exist (such as BBC BASIC for Windows) would not be covered, but versions that haven't been sub-licensed to others – such as mainstream BASIC IV – are part of the overall BBC BASIC product and thus covered by the open source licence.


    I know, it's all very complicated and unclear, and that's really unfortunate. But I still don't see why a way can't be found to proceed.


    As I say, if we were porting BASIC V rather than BASIC IV (or earlier), there definitely wouldn't be a problem because BASIC V is unquestionably open source already. So, what about my idea of back-porting the new features from BASIC V, and thus ending up with a BASIC V rather than a BASIC IV interpreter? If we had that, we could get a legitimate open source licence to it from RISC OS Developments Ltd.