473,789 Members | 3,186 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Which License Should I Use?

I've been watching the flame war about licenses with some interest.
There are many motivations for those who participate in this sector, so
disagreements over licenses reflect those agendas.

I don't have an agenda, at least not right now. I do plan on writing a
few programs.

These will be tools I need for firmware testing. They will be
relatively simple things like tools for breaking down data by its
structure for easy viewing, sending commands/macros over serial ports,
etc. Similar things exist, but they don't do everything I need. These
will also be excellent learning opportunities for me, since I'm still
pretty shaky on Python.

How do I decide on a license? Are there any web sites that summarize
the pros and cons? I guess I don't care too much about how other
people use it. These things won't be comprehensive enough or have
broad enough appeal that somebody will slap a new coat of paint on them
and try to sell them. I guess I don't care if somebody incorporates
them into something bigger. If somebody were to add features to them,
it would be nice to get the code and keep the derivative work as open
source, but I don't think that matters all that much to me. If
somebody can add value and find a way of making money at it, I don't
think I'd be too upset.

I will be doing the bulk of the coding on my own time, because I need
to be able to take these tools with me when I change employers.
However, I'm sure that in the course of using these tools, I will need
to spend time on the job debugging or tweaking them. I do not want my
current employer to have any claim on my code in any way. Usually if
you program on company time, that makes what you do a "work for hire".
I can't contaminate my code like that. Does that mean the GPL is the
strongest defense in this situation?

I'm open to suggestions as to which licenses to consider. However,
please try to keep the conversation to the decision process or what
sounds like it is best for this purpose. Let's keep the broader issue
of which license will bring about the fall of Western Civilization on
the other thread.

Ron Britton

(The gibberish on the next line really is my email address.)
nk67v8o02
at
sneakemail.com

Nov 25 '05 #1
51 3278
"mojosam" <nk*******@snea kemail.com> writes:
I will be doing the bulk of the coding on my own time, because I need
to be able to take these tools with me when I change employers.
However, I'm sure that in the course of using these tools, I will need
to spend time on the job debugging or tweaking them. I do not want my
current employer to have any claim on my code in any way. Usually if
you program on company time, that makes what you do a "work for hire".
I can't contaminate my code like that. Does that mean the GPL is the
strongest defense in this situation?


IANAL, but I don't believe the GPL helps in this situation. It places
conditions on redistributing the code; it doesn't force you to
redistribute modifieed code. Your employers could refuse to let you
take the code with you because they own partial copyright on it. They
couldn't sell it later because of the GPL on it, but that's not your
issue here.

I tend to try to get clients to agree that code that comes in from
outside can go back out under whatever license it came in on. That
makes it clear up front that the results go back to the community,
which means you can get at them.

If you deal with this issue, the license that best meets your
description are the BSD-like license, which have been called
"copycenter " licenses. They place no restrictions whatsoever on the
the further use.

<mike
--
Mike Meyer <mw*@mired.or g> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Nov 25 '05 #2
mojosam wrote:
I will be doing the bulk of the coding on my own time, because I need
to be able to take these tools with me when I change employers.
However, I'm sure that in the course of using these tools, I will need
to spend time on the job debugging or tweaking them. I do not want my
current employer to have any claim on my code in any way. Usually if
you program on company time, that makes what you do a "work for hire".
I can't contaminate my code like that. Does that mean the GPL is the
strongest defense in this situation?


Not at all. The code that you write on your employer's time probably
belongs to the employer (you'll need to read your contract and the
relevant state law or talk to a competent lawyer in your area for full
details). Just because you added that code to a GPLed project doesn't
mean that the added code would be released under the GPL. If your
employer had an interest in keeping you from using it after you left
them, they simply wouldn't release the code at all. They wouldn't be
able to turn it into a proprietary project using your GPLed code, but
they could prevent you from taking the added code with you.

Also, the employer may still own the copyright on software that you
write on your own time if it substantially relates to your job (as it
seems it does). Again, you will have to read your contract and the
relevant state law or possibly talk to a lawyer to find out. I am not
such a lawyer, and, of course, none of this is legal advice.

That said, assuming that you can release the code under an open source
license and given your lack of an agenda, the BSD license seems
appropriate. You may also want to read this Licensing HOWTO:

http://www.catb.org/~esr/faqs/Licensing-HOWTO.html

It's a draft, but it contains useful information. Also, Larry Rosen's
book _Open Source Licensing_ is quite helpful (and free!).

http://rosenlaw.com/oslbook.htm

--
Robert Kern
ro*********@gma il.com

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter

Nov 25 '05 #3
Mike Meyer <mw*@mired.or g> writes:
IANAL, but I don't believe the GPL helps in this situation. It places
conditions on redistributing the code; it doesn't force you to
redistribute modifieed code. Your employers could refuse to let you
take the code with you because they own partial copyright on it. They
couldn't sell it later because of the GPL on it, but that's not your
issue here.


If they have the rights to the code, they can sell it, under the GPL or
any license of their choosing. In addition, if you GPL it, your employer
will be able to sell it, just like anyone else.

--
Björn Lindström <bk**@stp.lingf il.uu.se>
Student of computational linguistics, Uppsala University, Sweden
Nov 25 '05 #4
mojosam wrote:
I've been watching the flame war about licenses with some interest.
There are many motivations for those who participate in this sector, so
disagreements over licenses reflect those agendas.

I don't have an agenda, at least not right now. I do plan on writing a
few programs.

These will be tools I need for firmware testing. They will be
relatively simple things like tools for breaking down data by its
structure for easy viewing, sending commands/macros over serial ports,
etc. Similar things exist, but they don't do everything I need. These
will also be excellent learning opportunities for me, since I'm still
pretty shaky on Python.

How do I decide on a license? Are there any web sites that summarize
the pros and cons? I guess I don't care too much about how other
people use it. These things won't be comprehensive enough or have
broad enough appeal that somebody will slap a new coat of paint on them
and try to sell them. I guess I don't care if somebody incorporates
them into something bigger. If somebody were to add features to them,
it would be nice to get the code and keep the derivative work as open
source, but I don't think that matters all that much to me. If
somebody can add value and find a way of making money at it, I don't
think I'd be too upset.

I will be doing the bulk of the coding on my own time, because I need
to be able to take these tools with me when I change employers.
However, I'm sure that in the course of using these tools, I will need
to spend time on the job debugging or tweaking them. I do not want my
current employer to have any claim on my code in any way. Usually if
you program on company time, that makes what you do a "work for hire".
I can't contaminate my code like that. Does that mean the GPL is the
strongest defense in this situation?

I'm open to suggestions as to which licenses to consider. However,
please try to keep the conversation to the decision process or what
sounds like it is best for this purpose. Let's keep the broader issue
of which license will bring about the fall of Western Civilization on
the other thread.

Ron Britton

(The gibberish on the next line really is my email address.)
nk67v8o02
at
sneakemail.com


As mentioned earlier, your employer may lay some claim to the result if
it substantially relates to your work.

Using your employer's equipment to develop or test the code might also
be an indication that it is a work for hire. Either that, or you
misused the company's assets for personal gain. Neither sounds very
attractive.
Nov 25 '05 #5
bk**@stp.lingfi l.uu.se (Björn Lindström) writes:
Mike Meyer <mw*@mired.or g> writes:
IANAL, but I don't believe the GPL helps in this situation. It places
conditions on redistributing the code; it doesn't force you to
redistribute modifieed code. Your employers could refuse to let you
take the code with you because they own partial copyright on it. They
couldn't sell it later because of the GPL on it, but that's not your
issue here.

If they have the rights to the code, they can sell it, under the GPL or
any license of their choosing. In addition, if you GPL it, your employer
will be able to sell it, just like anyone else.


You're right - the GPL doesn't prevent them from selling it; it just
requires that they make source available to anyone they sell it to,
and prevents them from preventing people who buy it from giving it
away to anyone they want.

<mike
--
Mike Meyer <mw*@mired.or g> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Nov 25 '05 #6
mojosam wrote:
How do I decide on a license?


If you want to look at this from a legal point of view,
I highly recommend reading Larry Rosen's book, Open Source
Licensing. It covers issue you would never have thought
of without studying law, and gives good advice (IMHO).

Regards,
Martin
Nov 25 '05 #7
On Fri, 25 Nov 2005, Robert Kern wrote:
You may also want to read this Licensing HOWTO:

http://www.catb.org/~esr/faqs/Licensing-HOWTO.html

It's a draft, but it contains useful information.


It's worth mentioning that ESR, who wrote that, is zealously
pro-BSD-style-license. That's not to say that the article isn't useful
and/or balanced, but it's something to bear in mind while reading it.

tom

--
Science runs with us, making us Gods.
Nov 25 '05 #8
On Fri, 25 Nov 2005, mojosam wrote:
How do I decide on a license?
You decide on what obligations you wish to impose on licensees, then pick
a license which embodies those. There are basically three levels of
obligation:

1. None.

2. Derivatives of the code must be open source.

3. Derivatives of the code and any other code which uses it must be open
source.

By 'derivatives', i mean modified versions. By 'open source', i really
mean 'under the same license as the original code'.

So, the licenses corresponding to these obligations are:

1. A BSD-style license. I say 'BSD-style' because there are about a
hojillion licenses which say more or less the same thing - and it's quite
amazing just how many words can be split spelling out the absence of
obligations - but the grand-daddy of them all is the BSD license:

http://www.opensource.org/licenses/bsd-license.php

2. The GNU Lesser General Public License:

http://www.gnu.org/copyleft/lesser.html

3. The GNU General Public License:

http://www.gnu.org/copyleft/gpl.html

The GPL licenses place quite severe restrictions on the freedom of
programmers using the code, but you often hear GNU people banging on about
freedom - 'free software', 'free as in speech', etc. What you have to
realise is that they're not talking about the freedom of the programmers,
but about the freedom of the software. The logic, i think, is that the
freedom of the code is the key to the freedom of the end-users: applying
the GPL to your code means that other programmers will be forced to apply
to to their code, which means that users of that code will get the
benefits of open source.

Having said all that, you can only license software if you own the
copyright on it, and as has been pointed out, in this case, you might not.
Are there any web sites that summarize the pros and cons?
The GNU project has a quite useful list of licenses, with their takes on
them:

http://www.gnu.org/licenses/license-list.html

Bear in mind that the GNU project is strongly in favour of the GPL, so
they're perhaps not as positive about non-GPL licenses as would be fair.

This dude's written about this a bit:

http://zooko.com/license_quick_ref.html
I guess I don't care too much about how other people use it. These
things won't be comprehensive enough or have broad enough appeal that
somebody will slap a new coat of paint on them and try to sell them. I
guess I don't care if somebody incorporates them into something bigger.
If somebody were to add features to them, it would be nice to get the
code and keep the derivative work as open source, but I don't think that
matters all that much to me. If somebody can add value and find a way
of making money at it, I don't think I'd be too upset.
To me, it sounds like you want a BSD-style license. But then i'm a BSD
afficionado myself, so perhaps i would say that!

In fact, while were on the subject, let me plug my own license page:

http://urchin.earth.li/~twic/The_Ama...D_License.html

I apply 0-clause BSD to all the code i release these days.
I will be doing the bulk of the coding on my own time, because I need to
be able to take these tools with me when I change employers. However,
I'm sure that in the course of using these tools, I will need to spend
time on the job debugging or tweaking them. I do not want my current
employer to have any claim on my code in any way. Usually if you
program on company time, that makes what you do a "work for hire". I
can't contaminate my code like that. Does that mean the GPL is the
strongest defense in this situation?
The license you choose has absolutely no bearing on this. Either the
copyright belongs to you, in which case you're fine, or to your employer,
in which case you don't have the right to license it, so its moot.
Let's keep the broader issue of which license will bring about the fall
of Western Civilization
You mean the GPL?
on the other thread.


Oops!

tom

--
Science runs with us, making us Gods.
Nov 26 '05 #9
mojosam wrote:
I've been watching the flame war about licenses with some interest.
There are many motivations for those who participate in this sector, so
disagreements over licenses reflect those agendas.

I don't have an agenda, at least not right now. I do plan on writing a
few programs.

These will be tools I need for firmware testing. They will be
relatively simple things like tools for breaking down data by its
structure for easy viewing, sending commands/macros over serial ports,
etc. Similar things exist, but they don't do everything I need. These
will also be excellent learning opportunities for me, since I'm still
pretty shaky on Python.

How do I decide on a license? Are there any web sites that summarize
the pros and cons? I guess I don't care too much about how other
people use it. These things won't be comprehensive enough or have
broad enough appeal that somebody will slap a new coat of paint on them
and try to sell them. I guess I don't care if somebody incorporates
them into something bigger. If somebody were to add features to them,
it would be nice to get the code and keep the derivative work as open
source, but I don't think that matters all that much to me. If
somebody can add value and find a way of making money at it, I don't
think I'd be too upset.

I will be doing the bulk of the coding on my own time, because I need
to be able to take these tools with me when I change employers.
However, I'm sure that in the course of using these tools, I will need
to spend time on the job debugging or tweaking them. I do not want my
current employer to have any claim on my code in any way. Usually if
you program on company time, that makes what you do a "work for hire".
I can't contaminate my code like that. Does that mean the GPL is the
strongest defense in this situation?

I'm open to suggestions as to which licenses to consider. However,
please try to keep the conversation to the decision process or what
sounds like it is best for this purpose. Let's keep the broader issue
of which license will bring about the fall of Western Civilization on
the other thread.


Openness is your best protection here, as licensing the software can
only impose conditions on those who accept it under the license. It
cannot affect your employer's rights to work you performed while an
employee. Those rights are determined by applicable law.

The only way to ensure that you can take your own unencumbered copy of
code you wrote as an employee is to explain the position fully to your
employer and get their agreement, in writing and in advance, that they
are prepared to have you do so.

Simply assuming that because you have developed the code "in your own
time" you have sole rights to it, or even a right to redistribute, is
likely to lead to trouble and I would recommend against that course of
action.

Apart from that, as others have suggested it looks like a BSD-style
license would suit you best.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

Nov 26 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
2882
by: madcap | last post by:
Hi, Our company was looking for contract programmer to develop an internet/intranet application. We were approached by a freelancer who have quite a lot experience and his resume was impressive. But he did mention that if we download php & mysql and use the application developed within our company, we should be fine and there will not be any legal issues. While some of the folks see this as a low cost solution, others are concerned...
8
4853
by: simo | last post by:
OK, so I'm at the stage where I want to make a choice between wxPython and PyQt. Currently I'm using wxPython mainly due to the fact that it has GPL Linux and Windows versions. I prefer Qt to wxWindows, but am confused with all the Windows licensing issues. For the moment this is just for my own tinkering and utility apps, but
9
2183
by: Daniel Keep | last post by:
I'm currently working on a Python program, and was wondering if it's possible to license the program, some associated tools, and a few other libraries I've written under the Python license. I had a look at the new PSF Python license on the list of OSI-approved licenses, but it makes numerous direct mentions of Python and the PSF. Is there any acceptable way to simply say that a particular source file is under the PSF license (like you...
18
2056
by: Antoon Pardon | last post by:
I have made a module derived from the Queue module deliverd with python 2.3. I would like to make this module (called tube) available for other people. However it is not clear to me how I can do this in accordance with the python license. First of all it seems I have to make a sumary of how my module differs from the original. Second it seems I have to include the following in
2
4385
by: Amine | last post by:
Hi ALL, I am trying to add a license agreement to my setup project. I have added the lic.rtf file to the setup project and added the "License Agreement" dialog to the setup. But when I run the installation, the license agreement is empty. Any ideas? Thanks a bunch A
122
7918
by: seberino | last post by:
I'm interested in knowing which Python web framework is most like Ruby on Rails. I've heard of Subway and Django. Are there other Rails clones in Python land I don't know about? Which one has largest community/buzz about it?
24
2873
by: invitro81 | last post by:
Hello I've recently learnt python and I do love it! I congratulate all those geeks who produce this nice language; well, because I could be called a nearby newbee I've decided to improve my abilities by writing my own nice editor with python; so I've to choose among all those GUI toolkit's available there.. But I've no idea which one I should use to start with.. I've read that tkinter seems to be the de facto standart in the pyhon...
2
1836
by: yawnmoth | last post by:
The PHP license states the following: 4. Products derived from this software may not be called "PHP", nor may "PHP" appear in their name, without prior written permission from group@php.net. You may indicate that your software works in conjunction with PHP by saying "Foo for PHP" instead of calling it "PHP Foo" or "phpfoo" As the author of something released under the PHP license, can I, as I see fit, just grant permission to an...
14
4510
by: Frank Rizzo | last post by:
I've been given a project to work with which involves connecting to MySQL from .NET 2.0 app. I've googled looked and there is a metric ton of different MySQL ADO.NET providers from different people. Is there a consensus on which one is the most stable, more or less supported and has good support for the standard MySQL features (e.g. stored procs)? Regards.
0
9665
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
1
10139
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9983
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
1
7529
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5417
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5551
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4092
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3697
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2909
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.