Jump to content

Licensing GPL + BSD


Black Pearl

Recommended Posts

I'm working on an OS project (soon coming into the CR) and thinking about the licensing options.

I would prefer a 'strong', 'viral' OS license for the App itself, such as GPL.

But there are some reuse candidates, which I'd like to be able to use in other projects as well (non-GPL, propretarian). So preferable those VIs would be licensed under BSD.

Anyone has suggestions how to correctly deal with this?

Felix

Link to comment

I'm working on an OS project (soon coming into the CR) and thinking about the licensing options.

I would prefer a 'strong', 'viral' OS license for the App itself, such as GPL.

But there are some reuse candidates, which I'd like to be able to use in other projects as well (non-GPL, propretarian). So preferable those VIs would be licensed under BSD.

Anyone has suggestions how to correctly deal with this?

Felix

It's a mine-field wacko.gif It's difficult enough with so many licenses let alone sub-dividing within your software.

If you distribute an app with a particular license, people will assume that it covers all aspects of that software. If you have different components within that software that have a different licenses you're (IMHO) setting them up to breach some of your licensing. Sure they "should" read all the conditions but do you if you see a product that says it's released under the BSD in the CR? Or do you already know the BSD and not bother reading the licensing?

You could release it under "other", then have a detailed document provided with the download that explicitly states what parts/modules have what licenses and summarise what they can ad can't do to make it absolutely clear and hope that they read it and the other licenses. However the user has to download and read everything before deciding whether the licensing is appropriate for their use rather than just looking at the software page.

Alternatively, you could release them as separate distributions, with their own licensing, and make your app dependent on those "modules". This makes things much clearer to the end user but requires the user to download sub-components to use your app. This isn't a problem with the JKI package manager, but a real bugbear for those that don't use it and might mean they don't download at all.

The third alternative, of course, is that you only have 1 license to cover all the software and it's components and not complicate matters. It's only really an issue if you want to sell your software or components. After all, how "FREE" is your software if you have to buy the dependencies?

Edited by ShaunR
Link to comment

ok, found it in the GPL FAQ:

I heard that someone got a copy of a GPL'ed program under another license. Is this possible?The GNU GPL does not give users permission to attach other licenses to the program. But the copyright holder for a program can release it under several different licenses in parallel. One of them may be the GNU GPL.

The license that comes in your copy, assuming it was put in by the copyright holder and that you got the copy legitimately, is the license that applies to your copy.

I would like to release a program I wrote under the GNU GPL, but I would like to use the same code in non-free programs.To release a non-free program is always ethically tainted, but legally there is no obstacle to your doing this. If you are the copyright holder for the code, you can release it under various different non-exclusive licenses at various times.

So this actually means that I (as copyright holder) can use the reusable part as I like and if someone else wishes to use it for a non-GPL project I just need to give away the code under a different license (such as BSD)?

Felix

Link to comment

Jim, I'm aware of this and was reading is prior to posting.

It's the main reason I want some VIs of this project (reusable components) to be licensed under BSD.

Felix

Great! Regarding the main application, I guess you'll need to choose a license that best suites your business (and community) goals.

Cheers,

-Jim

Link to comment

Speaking personally (not for JKI) as someone who has a great personal interest in various OSS license schemes and has released different bits of software under several different major OSS licenses....

(I'm assuming this is all LabVIEW software)

I think you basically have two choices:

  1. Release everything as BSD. The LabVIEW world pretty much understands and accepts BSD. There are some organizations that are gun-shy about it, but if they're resistant to BSD then nothing will satisfy them.
  2. Release everything as GPL, and offer separate commercial licensing for closed-source uses. This is about as simple as you can make it without either open sourcing or closed sourcing everything.

However, if you choose #2, from a practical standpoint no one will use your software because almost no one understands GPL/dual-licensing. Here, too, you'll find exceptions (and if your tool is sufficiently awesome it will be worth the hassle for people) but dual licensing will require a lot of customer education. Many people will never even try your stuff in the first place just because they're terrified of the letters "GPL" for one reason or another. That's not to say it's not viable -- it might be -- but that model comes with a large amount of extra work for you to explain the situation to the world.

Link to comment

If your thinking about password protecting some or all of your code........I seem to remember reading at one point (it's disappeared since the super-new download section....fantastic by the way thumbup1.gif) that uploads to LAVA must include source and must not be protected with a password. Perhaps an admin can carify that?

Link to comment

Release everything as GPL, and offer separate commercial licensing for closed-source uses. This is about as simple as you can make it without either open sourcing or closed sourcing everything.

At first, I was going to post the code with each VI (and folder) marked if it's GPL or BSD. I never thought about any of the code to be non-open (or pwd protected).

Currently I'm thinking of releasing it under GPL first. This allows me to show/share an early version of the project.

When some clean-up is done, I'll seperately release some of the reusable code under BSD. They can get a seperate entry in the CR, so confusion should be minimal. I'll also place a license-stamp on the description of each VI, so nobody should by mistake place a GPL'd version in his project.

The project (tool) as such is comparable with OpenG builder or OpenG package builder (which are LGPL), as there is a clear input/output of (source code) data, which isn't affected by the license. I'll propably put a statement explaining this in the abstract.

My second concern was about reusing my own work in other projects (BSD or closed-source), not applying to the tool itself but any small subVI bit I'll find useful some day. The same applies if someone wants to reuse parts of this project and contacts me, I'm able to relicense under a different license (if I understand it correctly, any license that doesn't exclude that it was also seperatly licensed under GPL)

Felix

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.