Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

discuss bbc micro and electron emulators (including mame) here!
Post Reply
jay
Posts: 57
Joined: Sat Apr 25, 2020 12:53 pm
Location: Dublin
Contact:

Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by jay » Mon Jul 06, 2020 12:53 pm

I did some data recovery from some old floppies as a kind of pandemic project. To help with this, I wrote a couple of tools:
  • A tool for converting BBC BASIC programs to plain text which (now) works on all versions of BBC BASIC (including, thanks to help from folks on Stardot, MacOS/Windows, Classic Mac and PDP-11).
  • A tool for extracting data from DFS images. I've extended this to cope with the Watford and Opus variants too.
While these tools do things that other existing tools do, that wasn't so much a concern for a hobby project (however, not all of those tools are easy to find, which is one of the reasons I started working on writing some). Anyway, now that the tools deal quite well with some more niche areas (BBC BASIC for "classic" Mac and Opus DDOS images, for example) I think it's worthwhile to release these as free software (free as in libre, with source code).

To do so, I need to choose a license. Since it's possible that some other projects could find it helpful to copy or adapt some of the code, I'd like to facilitate this by selecting a license that permits this as far as possible. A couple of emulators I looked at are released under various versions of the GPL, but presumably some exist under other licenses. I haven't surveyed other tools (e.g. disc image tools). My inclination then is to use the 2-clause BSD license (not the original version as I need GPL compatibility) or the MIT license. This is a bit of a departure for me as all my other code is GPLed. Accepting contributions from other (e.g. GPLed) projects would be difficult or impossible to do while maintaining a BSD-like licence (as the result would have to be "upgraded" to GPL), so I hesitate.

It's a lot simpler to get the license right at the beginning, so I thought I'd ask the community for input. What do you think would maximise community utility of such a project?
I recently released beebtools, https://github.com/jamesyoungman/beebtools - feedback very welcome!

User avatar
danielj
Posts: 8410
Joined: Thu Oct 02, 2008 5:51 pm
Location: Manchester
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by danielj » Mon Jul 06, 2020 1:15 pm

Depends how the contributions come in I guess, it doesn't happen that often. Depends on whether you want to strongly encourage people to share their code too?

User avatar
scruss
Posts: 275
Joined: Sun Jul 01, 2018 4:12 pm
Location: Toronto
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by scruss » Mon Jul 06, 2020 2:25 pm

There's virtually no difference between the BSD 2-clause and the MIT licences, if https://choosealicense.com/appendix/ is to be believed. Neither require or even encourage share-alike. If you've previously used GPL, it sounds like sharing is important for you.

Coeus
Posts: 1814
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by Coeus » Mon Jul 06, 2020 2:40 pm

To me, the big difference between the BSD/MIT licenses and GPL is your view of commercial exploitation.

As university licenses the BSD/MIT license have their roots in the idea that universities research new things and then commercial entities take up that work and produce a polished product. That could happen, in a sense, if commercial companies could only take the concept and code from scratch but it is helpful if there are able to start from existing code.

The GPL, on the other hands is there to ensure that future refinements/enhancements are also free.

So if you intend to make a commercial version or are happy for someone else to that guides you to BSD/MIT. That means anyone who submits fixes/enhancements would have to also use BSD and those could also go into any commercial version. Or, of course, they could choose not to submit those changes and instead publish their own version. In theory the result could be several forks that could never be merged back together.

Assuming no commercial version happens, then the other issue is what contributions you are expecting. With an emulator the issue arises of how to handle modules that started life elsewhere. As an example, B-Em has emulation for the Music 5000. Although this has now been optimised and looks rather different, it started life as part of another emulator called Beech. This is the kind of thing that is likely to fall foul of license incompatibility.

On the other hand, if you're only expecting possibly bug fixes and minor enhancements then it is less of an issue - rather than importing a body of code from elsewhere that already has a, possibly different, license, people have the option to allow their contributions to use the same license as you have chosen.

User avatar
BigEd
Posts: 3420
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by BigEd » Mon Jul 06, 2020 2:55 pm

Hmm, I'd say otherwise: it's not about commercial exploitation, it's about proprietary derivatives.

An MIT/BSD style license is for people who are quite happy for their code to be taken by others, fixed, extended and modified in private, and then made available as non-free software to others. It aims to preserve freedom of action for people who modify and exploit software.

A GPL/LGPL style license is for people who feel it's important that the code, and fixes and extensions, remain open source, regardless of who is modifying and distributing it. It aims to preserve freedom of action for people who use software.

For sure it's more obvious how to exploit non-GPL software for profit, but it's also possible to build a business on GPL software - ask Redhat, aka IBM.

jay
Posts: 57
Joined: Sat Apr 25, 2020 12:53 pm
Location: Dublin
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by jay » Mon Jul 06, 2020 5:51 pm

I'm well aware of what the differences between these licenses are. My question wasn't "what's the difference?" but instead "what would the community prefer?"
I recently released beebtools, https://github.com/jamesyoungman/beebtools - feedback very welcome!

cmorley
Posts: 1313
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by cmorley » Mon Jul 06, 2020 6:08 pm

If you're not fussed then you could just release it license free. You can still retain copyright.

Coeus
Posts: 1814
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by Coeus » Mon Jul 06, 2020 6:44 pm

cmorley wrote:
Mon Jul 06, 2020 6:08 pm
If you're not fussed then you could just release it license free. You can still retain copyright.
That means no-one is allowed to do anything with it.

jay
Posts: 57
Joined: Sat Apr 25, 2020 12:53 pm
Location: Dublin
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by jay » Mon Jul 06, 2020 6:47 pm

cmorley wrote:
Mon Jul 06, 2020 6:08 pm
If you're not fussed then you could just release it license free. You can still retain copyright.
No, that would not work. If code doesn't have a license, there is nothing granting anybody permission to copy or modify it. In other words anybody who cares about license compliance (and who is considering distribution of a derived work) wouldn't touch it at all.
I recently released beebtools, https://github.com/jamesyoungman/beebtools - feedback very welcome!

cmorley
Posts: 1313
Joined: Sat Jul 30, 2016 8:11 pm
Location: Oxford
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by cmorley » Mon Jul 06, 2020 6:50 pm

Coeus wrote:
Mon Jul 06, 2020 6:44 pm
cmorley wrote:
Mon Jul 06, 2020 6:08 pm
If you're not fussed then you could just release it license free. You can still retain copyright.
That means no-one is allowed to do anything with it.
Garbage. You can put something in the public domain if you want to without GPL or BSD license. Just write (c) & released into the public domain will do.

Coeus
Posts: 1814
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by Coeus » Mon Jul 06, 2020 7:13 pm

cmorley wrote:
Mon Jul 06, 2020 6:50 pm
Garbage. You can put something in the public domain if you want to without GPL or BSD license. Just write (c) & released into the public domain will do.
This may seem pedantic, but that's not what you said. My understanding is that under UK copyright law "all rights reserved" is the default, i.e. you have to specifically permit you work to be copied, modified, etc.

Placing the work into the public domain is a possibility, of course, and seems quite BSD-like except that you don't get to be identified with any copies.

Coeus
Posts: 1814
Joined: Mon Jul 25, 2016 12:05 pm
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by Coeus » Mon Jul 06, 2020 7:23 pm

jay wrote:
Mon Jul 06, 2020 5:51 pm
I'm well aware of what the differences between these licenses are. My question wasn't "what's the difference?" but instead "what would the community prefer?"
I'm not sure who is going so speak for the community as a whole. My personal preference is for the GPL/LGPL but others may have their own preference. It would be interesting to see what licenses other projects are released under. I am not sure we have the same master list for software as for hardware. I'll have a look at the Stardot repositories in GitHub.

SteveF
Posts: 720
Joined: Fri Aug 28, 2015 9:34 pm
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by SteveF » Mon Jul 06, 2020 7:25 pm

I don't think it's a huge deal, but for me having these kind of tools as public domain or 2-clause BSD/MIT would be slightly better than GPL. When using them standalone, or making a contribution of code to them related to standalone use, the licence doesn't really matter to me, but if I'm working on a project where I want to re-use the code it's nice to have minimal licence compatibility concerns.

As a pseudo-example, I wanted to be able to create DFS disc images from within a command line tool as part of my Acorn PLASMA port. David Boddie offered some code under GPL3; as it happens this was absolutely fine, because PLASMA is already GPL3 itself anyway, but had PLASMA happened to be under some other licence I couldn't have used his code [1]. Which is completely fair - his code, his choice - but in response to the question you're asking, if you have no strong preference, I think your code would be most useful under a licence that maximises compatibility with other licences.

[1] Or would have at least had niggling worries about whether it was OK, depending on the details of how I was using it. This is a hobby, it's supposed to be fun, I don't want to go getting into trouble or debating licences or upsetting people. So I'd probably err on the side of caution and leave well alone.

User avatar
BigEd
Posts: 3420
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by BigEd » Mon Jul 06, 2020 7:59 pm

Worth noting that the author (or their estate) can offer alternative licenses if asked.

One might ask, whether it might be a negative to find someone selling (or even offering) something based on your code, with a statement that many bugs had been fixed, but with no offer of fixes in source. (Indeed perhaps with no evidence that there are fixes...)

Personally, I'm in favour of GPL, or LGPL. Work in the open, and keep it open.

If you want to cause the least annoyance, dual-license the project with both types of license. But there's no way to please everyone.

User avatar
scruss
Posts: 275
Joined: Sun Jul 01, 2018 4:12 pm
Location: Toronto
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by scruss » Mon Jul 06, 2020 9:42 pm

To the person reusing the code, there's no practical difference between BSD 2-clause and MIT. I've seen corporate users prefer to use MIT over anything else, since it allows a company to benefit from it at no cost beyond putting a credit somewhere — and it doesn't have to be at all easy to find. So if the choice is between those two, pick one.

jay
Posts: 57
Joined: Sat Apr 25, 2020 12:53 pm
Location: Dublin
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by jay » Sun Jul 19, 2020 4:41 am

I ended up choosing the Apache 2 license. Reasons:
  • Apache 2 licensed code can be incorporated into GPL (v3) code bases.
  • It's non-copyleft (i.e. "non-viral"), an idea I wanted to try out (all my other code is GPLed).
  • It explicitly states the expectation that contributors are contributing code under the same license unless otherwise stipulated, eliminating something of a bureaucratic chore
  • It includes provision for patent retaliation (which is why the FSF recommends it over for example the MIT license)
I recently released beebtools, https://github.com/jamesyoungman/beebtools - feedback very welcome!

User avatar
scruss
Posts: 275
Joined: Sun Jul 01, 2018 4:12 pm
Location: Toronto
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by scruss » Sun Jul 19, 2020 4:53 pm

I hadn't considered that one in detail before. Seems to strike a nice balance between freedom to use and modify, and retaining control of credit. I'd use it if I had anything worthwhile to release. As is, my code is best covered by the Sandia Message Public License (SMPL) :D

Just built beebtools. Nice build process and lovely docs!

User avatar
simonm
Posts: 315
Joined: Mon May 09, 2016 3:40 pm
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by simonm » Sun Jul 19, 2020 5:05 pm

For what it's worth I put all of my Beeb hobby projects out as MIT. I have no desire or expectation to profit from or require attribution for them, nor do I have any concerns about how they are used/copied/derived. If they are useful to the wider world, thats just fine with me.
I know some projects have valid concerns about forks that take open code and spin off some other competing version, so that might steer licensing to some degree, but frankly the Beeb community is small & niche in the great scheme of things.

sirbod
Posts: 1133
Joined: Mon Apr 09, 2012 9:44 am
Location: Essex
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by sirbod » Mon Jul 20, 2020 5:06 am

There's some misinformation in this thread and possibly even confusion around the legal definitions of copyright, licensing and intellectual property. I'd advise folk refer to the UK GOV site, which concisely covers the key information:

https://www.gov.uk/copyright

julie_m
Posts: 232
Joined: Wed Jul 24, 2019 9:53 pm
Location: Derby, UK
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by julie_m » Sat Jul 25, 2020 2:20 pm

I'm making the BBC version of BCP Public Domain; because then, even if someone tries to make a caged, proprietary version as no-one is stopping them from doing, I don't think lack of access to the Source Code will stop anyone else from taking it by force anyway with a disassembler, if they really need to.

If I were to port it to a modern platform, there would be so little code left recognisable from the original that it would constitute a whole new work in its own right; and then I would use the GPL or Artistic licence (or even a "no binary distribution without Source Code" licence, if such a thing exists) to ensure the Source Code always remained available.

User avatar
BigEd
Posts: 3420
Joined: Sun Jan 24, 2010 10:24 am
Location: West
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by BigEd » Sat Jul 25, 2020 2:47 pm

If you're in the UK, consider CC0. Unlike the US, there is no easy way to put your work into the public domain. CC0 is engineered to work everywhere.

User avatar
scruss
Posts: 275
Joined: Sun Jul 01, 2018 4:12 pm
Location: Toronto
Contact:

Re: Choosing a copyright license for DFS image tool / BBC BASIC de-tokenizer

Post by scruss » Sat Jul 25, 2020 7:44 pm

although even with CC0, in the UK it's very difficult to waive your moral rights. Moral rights link you to the creation of your work. While you can disclaim liability for all uses of the work you created (to the fullest extent permitted by applicable law, at least), you can't disclaim liability for creating it. This is vanishingly unlikely to be a problem for any software of interest to *. users.

Post Reply

Return to “8-bit acorn emulators”