Python, licenses and CVS
kragen at canonical.org
Mon Nov 26 04:07:57 CET 2001
Hans Nowak <wurmy at earthlink.net> writes:
> - should I use a license / copyright notice?
If you want people to use the code, yes; if they don't have a written
license, the code is still copyrighted by you (assuming you live in a
Berne Convention country) and they can still infringe your copyright.
They might have an 'implied license', consisting basically of what
you've encouraged them to do, but I feel a lot more comfortable with
an explicit license.
> - if so, which one would you recommend?
A popular one, because if you don't use a popular one, people who take
this stuff seriously and hate legalese won't even consider using your
software, because they'd have to read another license.
> I know of the GPL, Python license, BSD license etc, and opensource.org
> has a long list of them, but I absolutely hate legalese, and reading
> all of this and pondering the possible consequences of picking one
> over the other makes me cringe. Does someone have a pointer to a
> page with some concise explanations of these licenses?
The Free Software foundation has a page at
http://www.fsf.org/licenses/license-list.html that is more or less
what you want. My summary is as follows:
- GPL: you can use this software freely but can't incorporate it into
proprietary software without negotiating with the author for special
- BSD: you can do whatever you want with this software. (There's an
older version of the BSD license which includes a clause that
requires credit be given; this is generally considered annoying.)
> Then there's a second point: I see that many projects use version
> control (usually CVS). I tried using DJGPP's cvs, but it
> (unsurprisingly) doesn't work well on WinXP. There's such a thing
> as WinCVS, but the whole process strikes me as clumsy... checking
> in and out and committing every time something changes... what is
> the point of this? What happens if you forget a step? Does it have
> substantial benefits over versioning your files by hand, aside from
> having a repository through which you can undo changes?
Cygwin cvs works well on pre-XP versions of NT. I haven't tried XP.
CVS doesn't require you to check out repeatedly, and you only check in
when there are changes.
Version control is a huge benefit when you're trying to work on
something with other people; it keeps you from accidentally destroying
their work. It's not as big a win with individual projects, but it
still has some advantages:
- I can type 'cvs annotate' to see when each line of code in my work
area was added --- what date, what time. (And by whom.)
- I can type 'cvs diff -D 2001-10-25' and see the changes since
- I can type 'cvs diff' and see what changes I haven't committed,
which often keeps me from committing typos in comments (where I typed
some character in the wrong window)
- saving my current work state is quicker than with a copy-tree, and
it takes less disk space, which makes it easier to back up my entire
That said, I still mostly use it when I'm working with somene else, or
when I have multiple copies of files on different machines that I
might edit independently. (I keep my PIM stuff --- calendar,
addresses --- this way.)
More information about the Python-list