-
Notifications
You must be signed in to change notification settings - Fork 60
Description
A Summary of the Current Situation
(Updated 01.01.2026)
As with any long-standing project, our history and licence is complex.
The small size of our community has also sometimes driven decisions (for example to 'retain' the original name, rather than starting as a complete fork).
The licence for legacy code within OpenBVE should be considered to be public domain: https://en.wikipedia.org/wiki/Public_domain
Newer code contributions are generally licenced under the BSD-2 clause licence (or similar), as this is the closest recognised legal equivilant to Michelle's original Public Domain intentions. Please see the header of each file for details.
Further, as part of the ongoing development efforts, I'm actively replacing 'legacy' code with entirely new work that is clearly licenced. This has the added bonus of allowing code modernization where appropriate.
We also use third party libraries, for which the licences may be found in the About dialog, or here: https://github.com/leezer3/OpenBVE/tree/master/licenses
If you wish to create derivitive works, fork or redistribute OpenBVE, this is entirely your right.
Please however respect the other contributors who have put in many thousands of hours of work to get us to where we are today by crediting appropriately, and retaining the appropriate licence headers in your own source.
Furthermore, whilst there is nothing in the licencing terms requiring you to provide your source code or contribute back any improvements you make, we and the wider community would appreciate it if you do so.
Please use this topic for any queries, suggestions, debate or discussion on the subject of the project licence.
'Legacy' Code (01.01.2026)
- Most simulation (physics) related code- Primarily contained within trainmanager.dll and the main game.
- B3D / CSV object parser.
- CSV / RW route parser.
- train.dat parser
- ACE texture parser.
- TrainEditor
- ObjectBender
- SoundManager
- WAV / FLAC sound parsers
Code Licened under BSD / Similar (01.01.2026)
- Render pipeline.
- XML format parsers.
- BMP / PNG / GIF texture parsers.
- Animated object parser.
- DirectX and OBJ object parsers
- MSTS shape parser.
- BVE5 route parser.
- MSTS Train parser.
- Default safety system plugin.
- TrainEditor2
- SanYingInput & DenshaDeGo! input plugins.
- MP3 sound parser
Debate And Discussion
Changing the licence to something more widely recognised has again been raised in #304
This is a specific issue to discuss the mechanics and roadblocks involved.
Now, fundamentally I'm by no means opposed to this.
The original driver for openBVE's current public domain licence was Michelle, and indeed she was actively opposed to any licence at all:
My attitude differs from so called "free software" licenses. I try to
explain:
.
With proprietary software, the developers usually try to restrict what
you are allowed to do with the software to the uttermost extreme that
is legally possible. This falls under the category of copyright.
.
Then there is something that is sometimes called green copyright. So
called free software falls in this category. As with proprietary
software, a license is used to tell users what they are allowed to do
and what not. The difference to proprietary software is that so called
free software licenses are usually much more permissive, yet the
author decides what you are allowed to do and what not. So called free
software is usually attributed to derive from "freedom" instead of
"free of charge". Still, if the author employs a license telling other
people what they can or cannot do, this inherently cannot have
anything to do with freedom.
.
Then there is something called public domain, which I consider to be
an inherently good thing as everyone has eventually the same rights as
the author. However, releasing a work into the public domain is not
legally meaningful in many countries. Also, releasing a work into the
public domain (if possible) depends on the generosity of the author,
and this decision is made by the author.
.
My attitude is even one step further: I am opposed to copyright, thus
I marked the game with the legally not meaningful phrase of
"anti-copyright". It is legally meaningless, because in every country
that has some form of copyright, it would require these laws to be
abandoned. Still, why do I have this attitude?
.
With a license, I would be telling other people what they can or
cannot do. I am not such a person. I will not make any silly
restrictions on how you can use this program, I will not tell you to
put my name on any derived work, I will never ever give "permission"
for you modify or redistribute the software, because I don't think
that it is up to me telling you what you can or can't do. You should
make this decision for yourself.
.
I hope this briefly explained the situation.
Obviously, at this point, she's been gone for ~10 years, and I have had no contact.
The other contributors to the original openBVE code were:
- Anthony Bowden
- Odaykufan (Jens Rügenhagen)
- Paul Sladen
At the time I launched this rebuild / development effort (3.5 years ago), I was in contact with all of these three.
Anthony Bowden and Paul Sladen were both broadly supportive of the direction that things were taking, but TBQH neither was a long conversation and both have not responded to further contact.
Licencing was touched on briefly although not specifically, and I don't believe either would have had a specific problem with re-licencing to something like MIT / BSD. (N.B. The Debian link above notes that they / Ubuntu attempted to get Michelle to change to a recognized licence.
Paul Sladen was the original Debian packager and fixed some Linux bugs and IIRC was part of this discussion)
Odaykufan is potentially more problematic.
He is of the opinion that he, Michelle and Anthony are the only three 'official' owners of the name / project openBVE, and that this project should have been re-named.
Having said that the following was in the same message:
Of course, being released into the public domain, you can do with the
program whatever you want, including passing it off as your own or
passing you off as an official appointee selected by us to continue
our work, which you are not.
I've also had at one stage or another I think a licencing conversation with all the people who've contributed any major sort of code, usually with this sort of mess in mind.
My stance has always essentially been that the current situation, whilst not ideal at all is what we've been left with.
Intellectually, I'm not sure that's changed, but the practicalities of the situation when wanting to access third party CI resources may be catching up with us.....
@mgavioli and @cwfitzgerald were definitely happy at the time I last spoke to either to go to BSD-2 (my preference), and @s520 is suggesting MIT.
Both of these are fundamentally identical, with just different phrasing on the legal fluff.
I would not support GPL, and fundamentally anything similar / more restrictive doesn't sit well with me either.