Donate to the B3 fund!

"even a small donation helps!"
Donate with PayPal!
January Donations
MordyT USD25.00
Most of the plugins here are made by B3 users and the authors may not visit frequently. If you need support for plugins or if questions remain unanswered, you will have to contact the author directly. Read the full Support Disclaimer here

NOTE: Do not attach plugins to your forumtopics! Attachements are periodically removed by maintenance tasks. Upload your plugins to our Downloads section instead!

Author Topic: B3 and the GNU General Public License  (Read 4685 times)

Offline Bakes

  • B3 Contrib/Support
  • Hero Member
  • *
  • Posts: 1226
B3 and the GNU General Public License
« on: November 08, 2009, 10:04:29 PM »
As anyone who has opened a B3 core file will know, B3 is licensed to you, the end user under the GNU General Public License, version 2 or later.

What does this mean?

Mainly, it means that you can modify, copy, distribute, even sell B3 (as a service, or even just what we're giving away for free). There are essentially no strings attached.

What does it mean for plugin developers?

Because B3 is written under the terms of the GNU GPL, any plugins that you choose to distribute are as such licensed under a mandatory GPL compatible license. This is because B3 shares function calls with plugins (_adminPlugin, OnEvent, OnLoadConfig, OnStartup) and the other way around (self.console.say, client.kick).

The FSF's interpretation is very precise about this.

If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means the plug-ins must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.

What does this mean? It means that you cannot place restrictions on use for plugins, you must allow anyone to change, improve, distribute your code, whether you like it (most of the time) or not (very rarely), with the only restriction (this might be in GPL 3, but i'm not sure), being that they must write to the changelog, documenting their changes, should they distribute it, and you must be credited with the original code. Another condition is that you must provide source *.py files. I was once sent a plugin in bytecode compiled *.pyc. That's not allowed, according to B3's license.

It's essentially very improvement friendly.

If you decide to distribute a plugin, or any code hacks, who you gave it to is allowed to distribute it if they want, regardless of your conditions. I can't say 'no cracked servers', you can't force someone not to spread code around. Having said that, I have seen no potentially unwanted mirrors, other than the official ones :) (google big brother bot, and you'll see what I mean).

It's essentially a very nice license, promoting development. Of course, none of us would encourage 'stealing' someone else's work, it's much better asking them first, you don't annoy as many people that way, but it is allowed to use someone else's work in your own plugin, should you want to, as long as you credit them properly.

I hope that clears a few things up.


Rate this page +1 at Google Search