473,803 Members | 3,886 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
51 3287
On Fri, 25 Nov 2005 11:30:46 -0800, mojosam wrote:
I guess I don't care too much about how other people use it.
Then probably the best licence to use is just to follow the lead of
Python. For that sort of small program of limited value, I put something
like this in the code:

Copyright (c) 2005 Steven D'Aprano.
Released under the same license as used by Python 2.3.2 itself.
See http://www.python.org/psf/license.html for details, and
http://www.python.org/2.3.2/license.html for the full text of the license.

I use that as a no-brainer licence: it is weaker than but compatible with
the GPL, and requires less documentation.

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.

I am not a lawyer and this is not legal advice, but I suggest that your
*only* defence will be to get your employer to sign a legal agreement
acknowledging that you own the code. If you like, offer them a perpetual
royalty-free non-exclusive licence to use the code, and explain how using
your own code will make you more productive in their time.

If they refuse, then you must absolutely keep a cast-iron barrier between
what you develop in your own time and what you develop in theirs. To be
safe, I wouldn't even *use* that code in their time: if your productivity
suffers, that's their choice.

As an alternative, consider that who owns the copyright doesn't matter. If
your employer insists on keeping the copyright, get permission from them
to distribute the code under an open source licence. Then you can take it
with you when you leave, and still use it.

Unless you explicitly sign them away (and even that is legally dubious)
you still retain the "moral rights" to the code, even if copyright is
owned by your employer: you can still say "I wrote this".

Please note that merely putting the code under a GPL or other OSS licence
is NOT sufficient -- they must agree to let you DISTRIBUTE the code.
Merely being under the GPL does not make it compulsory to distribute the
code, and if you distribute software copyrighted by your employer without
their permission, the fact that is GPLed is not going to save you.

Getting permission to put it up on the corporate website might be
sufficient, but if it were me, I'd insist on an agreement allowing me to
take the code with me when I leave. (This is only necessary if your
employer owns the copyright.)

It need not be a complicated agreement: I recently signed a copyright
transfer agreement for some employees who left the company to start their
own company. The agreement was less than two pages long.
--
Steven.

Nov 26 '05 #11
Steve Holden <st***@holdenwe b.com> writes:
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.


The employment agreement may state specifically that the company owns
such properties. There have been companies that explicitly claim all
software/inventions/etc that you produce while in their employee, even
if they had nothing to do with said IP. Some jurisdictions make this
illegal - but that doesn't stop the company from trying to convince
you they can do that.

But this cuts both ways - if you get them to agree in writing as part
of the employment agreement that the code isn't there, which Steve
suggested, then laws about "work for hire" are pretty much
irrelevant.

<mike
--
Mike Meyer <mw*@mired.or g> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

Nov 26 '05 #12
On 25 Nov 2005 11:30:46 -0800, mojosam <nk*******@snea kemail.com> wrote:
....
How do I decide on a license? Are there any web sites that summarize
the pros and cons?


I like this list:

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

It's from a GPL perspective of course, but pretty balanced I think.

Personally, I use the GPL or the Modified BSD license, depending on the
phase of the moon. And I do take software with me to work, but never in the
reverse direction.

/Jorgen

--
// Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
\X/ snipabacken.dyn dns.org> R'lyeh wgah'nagl fhtagn!
Nov 26 '05 #13
On Sat, 26 Nov 2005 00:13:10 +0000, Tom Anderson <tw**@urchin.ea rth.li> wrote:
....
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.
.... which implies that one believes that every end-user has the potential to
become a hacker. That, I think, is at the core of the GPL, and RMS's
rantings are easier to understand if you keep that in mind.

But yes, let's not dive too deeply into all that here.
Oops!

;-)

/Jorgen

--
// Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
\X/ snipabacken.dyn dns.org> R'lyeh wgah'nagl fhtagn!
Nov 26 '05 #14
Thanks to everyone so far. You've helped a lot. (BTW, I read this
through Google Groups. Somehow they've gotten about 24 hours behind,
so I'm seeing your replies a day late.)

The biggest misconception I had was that the license could force the
code to stay open source. You're right. What I do on company time
belongs to the company. I guess I assumed there was a license that
forced them to release it.

At one place I worked, they had to delay the release of the product by
a few weeks, because they discovered that they had included an open
source (don't know which license) module. They had to pull it out and
recode it themselves (I know the other thread covered the subtleties of
whether even that was kosher, but let's ignore that here). I think the
problem there was they believed that if they included the module, they
would have had to release the source code to the entire project. I was
kind of hoping for something like that.

I would have to talk to a lawyer to be sure, but right now, I think I
can argue that anything I do on my own time belongs to me. I'm
technically a consultant right now (even though I'm spending 40
hours/week with the one "client"). I can take on other clients, as
long as they don't directly compete. This means they're hiring my
expertise. If I bring my own tools, that's part of my expertise. I do
recall there was a clause in the contract that anything I did on their
time belonged to them. For my next client, I should definitely include
a clause about rereleasing open source changes.

Anyway, staying away from the lawyer issues, if anyone has additional
thoughts to add to this, please keep the conversation going. People
are raising some good points.

Ron Britton
nk67v8o02
at
sneakemail.com

Nov 26 '05 #15
mojosam wrote:
I would have to talk to a lawyer to be sure, but right now, I think I
can argue that anything I do on my own time belongs to me. I'm
technically a consultant right now (even though I'm spending 40
hours/week with the one "client"). I can take on other clients, as
long as they don't directly compete. This means they're hiring my
expertise. If I bring my own tools, that's part of my expertise. I do
recall there was a clause in the contract that anything I did on their
time belonged to them. For my next client, I should definitely include
a clause about rereleasing open source changes.


You're in something of a gray area, but one that has seen a lot of
litigation. Although you are "technicall y" a consultant, you are
probably considered an employee with regards to the "work made for hire"
doctrine. You should probably have a chat with a lawyer soon (I am not
one! TINLA!).

As Steve Holden said, being open with your client and putting an
agreement in your contract is probably the best way to ensure that your
work will belong to you or, failing that, continue to be available to
you under an open source license.

--
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 26 '05 #16
Jorgen Grahn <gr********@sni pabacken.dyndns .org> wrote:
Tom Anderson <tw**@urchin.ea rth.li> wrote:
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.


... which implies that one believes that every end-user has the
potential to become a hacker.


To become, or *independently engage another person as* a hacker
without necessary further contact with the copyright holder.

The same freedom you get with, e.g., any complicated machine. You can
open it up yourself, or you can persuade a third party to do so,
without the necessity to get the maker involved.

It's not necessary for every single user of such machines to become
hackers of those machines; they still all get the benefit of the
freedom for anyone they choose to hack on it.

--
\ "I have a map of the United States; it's actual size. It says |
`\ '1 mile equals 1 mile'... Last summer, I folded it." -- Steven |
_o__) Wright |
Ben Finney
Nov 26 '05 #17
> First thing first, you need to find out if you are an
"employee", not in the normal sense, but legal sense.


You're right. I know there has been a lot of case law to come down the
pike over the years, due to all sorts of issues. One of my friends is
a cab driver. His contract says that he is an independent contractor.
Yet his state (Oregon) has three criteria that have to be met. One of
these is he has to set his own hours. He doesn't; the cab company
tells him when he works. This fails the independent contractor test,
so the cab company is legally exposed if any of the cabbies wants to
press any employment-law issues.

So there are too many variables and unknowns, and it varies by
jurisdiction.

I started this thread under the mistaken hope that there was some sort
of license that would force the code to stay open source. Although
that isn't realistic, it doesn't change the fact that I should choose a
license that best fits my needs.

I will consult a lawyer about these issues. Also, if my
client/employer won't let me keep my code, I'll just have to keep my
code away from them. Maybe I can find a commercial tool and tell them
that they will have to buy that.

Ron Britton
nk67v8o02 at
sneakemail.com

Nov 27 '05 #18
Yup, these independent contractor test doctrines bite both way and in
your case, it is not in your advantage, usually.

I would suggest that whatever tools you want to make to enhance the
work(even it is inspired by your current task), don't use it on this
employer/client, at least not on their premise(includi ng property say a
notebook provided by them) and must not let anyone know that you use it
to help you do the work about them.

mojosam wrote:
First thing first, you need to find out if you are an
"employee", not in the normal sense, but legal sense.


You're right. I know there has been a lot of case law to come down the
pike over the years, due to all sorts of issues. One of my friends is
a cab driver. His contract says that he is an independent contractor.
Yet his state (Oregon) has three criteria that have to be met. One of
these is he has to set his own hours. He doesn't; the cab company
tells him when he works. This fails the independent contractor test,
so the cab company is legally exposed if any of the cabbies wants to
press any employment-law issues.

So there are too many variables and unknowns, and it varies by
jurisdiction.

I started this thread under the mistaken hope that there was some sort
of license that would force the code to stay open source. Although
that isn't realistic, it doesn't change the fact that I should choose a
license that best fits my needs.

I will consult a lawyer about these issues. Also, if my
client/employer won't let me keep my code, I'll just have to keep my
code away from them. Maybe I can find a commercial tool and tell them
that they will have to buy that.

Ron Britton
nk67v8o02 at
sneakemail.com


Nov 27 '05 #19
"mojosam" <nk*******@snea kemail.com> wrote in message
news:11******** *************@g 49g2000cwa.goog legroups.com...
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?


It probably means that the only reliable defense is to get a written release
from your employer. If you want to be more confident about the situation,
consult a lawyer.

Nov 27 '05 #20

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

Similar topics

8
2883
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
4855
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
2185
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
2059
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
4386
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
7925
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
2877
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
1839
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
4513
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
9564
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10310
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10068
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...
0
9121
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7603
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
6841
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5498
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
5627
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
3796
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.