Skip to content

openBVE Licence & Associated #305

@leezer3

Description

@leezer3

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.

( https://web.archive.org/web/20241208194830/https://metadata.ftp-master.debian.org/changelogs/main/o/openbve-data/openbve-data_1.4.0.5+dfsg-3_copyright )

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions