I've posted this on my blog, but wanted to make sure everyone knew
about it, so I'm copying the lists.  If you have any questions, please
feel free to ask.

-------

I’ve been thinking about this for a while and honestly pretty made up
my mind months ago, but I finally go enough determination to edit
almost all the files in the trunk source tree and change the license
from the 3 clause BSD to GPLv3.

There’s actually a number of reasons for the change and I wanted to
share the ones that were most important to me. I don’t expect everyone
to like the decision, but probably most won’t care since it doesn’t
really impact them. But sometimes people get all bent out of shape
when a project that has been around as long as Tcpreplay (10 years?
Damn, where did the time go?) changes its license so I wanted to give
my side of it. The change doesn’t mean I don’t like the BSD license
anymore, just that I now feel the GPL is more appropriate for the
Tcpreplay Suite.

First, for those of you not familiar with the GPL and BSD, what this
means for 99% of users is everything stays the same. Tcpreplay is
still distributed at no cost and the source code is available for you
to read, edit and redistribute. You can use Tcpreplay at no cost for
personal and commercial use. The only difference is that if you
redistribute Tcpreplay, you need to make the source code of Tcpreplay
and any code which links to it available to anyone who asks for it. If
your code runs as a separate process then you don’t need to share
that. There’s no legal requirement for you to proactively send me a
copy of your changes, but I would very much appreciate that.

As for why, it comes down to the following reasons:

1. Values. I still want to give Tcpreplay away for others to use and
build upon, but it’s been frustrating to hear about people who have
added features and then for one reason or another decide they don’t
want to share those with the rest of the Tcpreplay users. This
willingness to take, but not give back to the community sucks and I’d
rather not allow people to continue to do that. I’ve got hundreds of
hours of effort in Tcpreplay and I suppose I don’t think it’s “fair”
for people to build upon it without sharing back. I’ve not only seen
this with Tcpreplay, but other BSD projects- one of my previous
employers added an enhancement to fragroute, distributed the new
binaries to their customers, but never sent the patches back to the
original author. I think my old company would of sent their changes
back if the author knew about it/asked, but because there was no legal
reason to do so, they never took the 5 minutes to do it.

2. Support. I’ve actually had people enhance Tcpreplay, distribute it
to others and then have these users contact me for support. They
couldn’t give me the code and I was stuck trying to explain to someone
that even though it was my project, I couldn’t help them because I
couldn’t fix the bug they were seeing.

3. Future. Tcpreplay will have a library/API in 4.0 and I hope it will
become much more useful to other developers. Going GPL helps to
protect the main tree from others creating incompatible forks. Yes,
anyone can still fork Tcpreplay for their own purposes, but at least
this way I can incorporate the good changes if they start distributing
it to others. If you want to fork Tcpreplay for your own
internal/personal use, go for it- I just want to limit the chances
running into your libtcpreplay.so with an incompatible API getting out
in the world causing problems for people.

4. Developers. I’ve discussed license choices with other existing and
potential Tcpreplay developers and there appears to be a greater level
of comfort with the GPL and it seemed that they would be more willing
to contribute if their contributions would be GPL’d versus BSD.
Honestly, I don’t expect to see a lot more people working on Tcpreplay
due to the license change, but every little bit helps.

One thing I wanted to add, I chose the GPLv3 because I believe it
affords better protections then v2. If you have an existing GPLv2
application and would like to incorporate any part of the Tcpreplay
Suite into it, please contact me to discuss dual-licensing options.

-- 
Aaron Turner
http://synfin.net/         Twitter: @synfinatic
http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & Windows
Those who would give up essential Liberty, to purchase a little temporary
Safety, deserve neither Liberty nor Safety.
    -- Benjamin Franklin
"carpe diem quam minimum credula postero"

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Tcpreplay-users mailing list
Tcpreplay-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tcpreplay-users
Support Information: http://tcpreplay.synfin.net/trac/wiki/Support

Reply via email to