Hi there!

Hi there!
Well, I suppose I have to finally admit I won't write a homepage. Ever.
So here is my kinda-homepage or something like that, with assorted things I wanted to publish, in no particular order.
I no longer publish here a list of my past software projects. But I am still atheist.

2015/02/21

Why I chose the Artistic License 2.0

First of all, you can get the Artistic License 2.0 from The Perl Foundation.

I think it was back in 1996 when I had my "first contact" with free software. At that time I was at the university and having such great pieces of code at hand was of great help for doing my homework and for learning about computers. I just couldn't believe that something so marvelous as free software existed. That is the real spirit behind science: share the knowledge, build new knowledge, use existing knowledge as a solid base.

At first I just used free software, without giving anything back to the community because I didn't think that anything I wrote was worth sharing. Later I changed my mind and started to share as much as I could, because your never know who may find your work helpful, and no shared knowledge is wasted knowledge.

After some time I chose the GNU General Public License v2 for sharing my work, because it was very common at the time, it was easy to understand for me and I agreed on most of its principles. Moreover, I was starting to use Linux and to read the kernel code, and the Linux Kernel used that license, so it looked very attractive to me. I was part of the GPL community and I was proud of that. I still am proud of that, and I still think that the GPLv2 is a great free software license.

When I was using GPLv2 it reflected perfectly the way I thought: I wanted to share my work and I wanted my work shared, I wanted my work modified and enhanced by others, and I wanted to control how my work had to be reused so derivative works had to be GPLv2, too. In short: I wanted GPLv2.

With the passing of time my way of thinking about software changed, but the GPLv2 was still my license of choice, and I was happy with it. I wasn't very comfortable with the viral aspects of GPLv2 and I started to feel weird about forcing the modifications of my work to be licensed under GPLv2, too. I mean, my work is mine and I decide the license, but I didn't feel like forcing the license for the work of others even if that work was based upon mine. Of course, I wanted the modifications to be free software too, but there were other free software licenses. Anyway, it was more a feeling than any other thing, and I didn't change the license of any of my projects, I still felt that GPLv2 was the best license for me.

And then the GPLv3 came, and then I read it, read a lot of analysis, a lot of rationales, a lot of discussions, etc. In the end I decided that I didn't like the GPLv3, and since all my projects were GPLv2 or later, I hurried to change the license to GPLv2 only. That move caused a click in my brain. It was a clue. It signalled that something didn't fit as good as before regarding my project's licenses. With GPLv3 it was clear, I didn't wanted that license for a good bunch of reasons, but switching to GPLv2 only was not the relief I expected. I still didn't feel at ease, but I didn't know why.

It was then, with that itch, that I started to question why I was using GPLv2. It wasn't a bad license, a lot of projects I liked used that license, it was very extended, etc. Then, why the heck I didn't feel good with it anymore? Well, the answer was more simple than I thought: I no longer wanted to dictate how the people building upon my work had to share their work.

I didn't like people using derivatives of my work to make closed or proprietary software (I still don't like it...), but I didn't like to support the incoming wave of license incompatibilities within free software. Software is not really free if you cannot release your work under the free license you want. It's important to keep software free, but without forcing particular licenses. On the other hand I started to think a bit differently about closed software: I don't like it and I think it is (usually) of lesser quality, but sometimes it is better to have closed software than not having anything at all, sometimes people is willing to do free software but they cannot for one reason or other and I think it is better they can work upon GOOD software and make GOOD software and then try their best to make it free sooner or later than not having some software written. I think you're making a mistake if you make proprietary software, but I'm not you and I cannot force a decision and a way of seeing things into you. I thought that proprietary software was evil; now I think it is just misguided. Fighting is not the way of convincing people into free software, it is the way of making enemies of free software and to divide the software community: free vs. proprietary.

When it came to the GPLv2, I no longer liked the 2b section. It was hard for me, because finding a suitable license looked like impossible, I didn't like any license I found... until I found Artistic License 2.0. It was nearly perfect, and the things I didn't fully like were at least reasonable to me.

I'll try to describe how Artistic License 2.0 works and why I like it. For a start, you can do whatever you want with the work if you don't distribute it. This is, in my humble opinion, basic: privately, do whatever you want to do as long as you don't affect others. Of course you can redistribute the unmodified work in any medium without restrictions. In my opinion, this is basic too: I wanted my work shared. But the most important points are other...

If you modify my work and distribute such modifications as source, which I think is one of the strongest pillars of free software, you must do at least one of the following:

  • You have to make your derivative work available to me under the Artistic License 2.0. Well, this is a very good option: if you think the same as me, use the same license and I will be happy. The important thing is that you don't have to do this, you have other options, and that you don't have to make the derivative work available to everyone under the Artistic License 2.0, only I have to be licensed so my work can benefit from your enhancements. I want to make it clear: even if you choose this option, you're not forced to release your derivative work under Artistic License 2.0, you can choose whatever license fits you, as long as I get those sources licensed to me under Artistic License 2.0. This way the community gets something back and it's fair: you used my work as a base for yours, so it's good if you give me back the enhancements. This is not perfect, because the work is not licensed as free software to everyone, but since I will be able to pick the enhancements and modify my work (which is free software), the community benefits.
  • Make sure that your derivative work doesn't prevent users installing or running my work. I think this is fair: if you do a derivative work and want to use your own license, make sure that your program won't prevent users from using mine! And use a different name so the users know perfectly which work are they using: yours or mine. No additional restrictions. If you don't want to share the work you did thanks to mine, at least don't screw me and the users.
  • Allow those who get your derivative work redistribute it under Artistic License 2.0 or any other license that has a similar spirit: it has to allow the user to freely copy, modify and redistribute modified versions under the same license, and without licensing fees. That is, you can use whatever license fits you as long as it is a free software license. This is very good in my opinion, because it allows people to do their work based upon mine and make it free software but under the conditions they want, as long as that conditions still qualify as free software. This is fair too, and it is the best course of action too: release your derivative work as free software to everyone, not just me (as in the first option).

In addition to this, you can distribute my work without the source if you tell people how to get that source, and you can distribute your derivative work as long as you do one of the three things I cited above regarding the source code. For example (maybe the worst scenario), you can use my work to make a proprietary, commercial work and don't publish a single line of code of the modifications just by using another name for your program and making sure it doesn't prevent mine from being installed and run.

This way, users can choose between your modified version and my original work. If your modifications are worth the price, probably users will use your program instead of mine, but people can still use my version for free and try to modify it and make it better themselves. If your modifications are not worth the price, your overpriced but inferior version will compete with a program that is free (as in beer) and comes with source! I think that even this worst scenario is acceptable to me: if your modifications are very good, you've probably done a better job than me, and the only think I can do is trying to convince you to share your work. Fighting you and preventing you from doing a proprietary version would have deprive users from a potentially good product and you would have stolen my work anyway, since finding flagrant violations of a license is very difficult and even expensive from the original author, specially if the author of the modified version is violating the license on purpose, because then that author will be doing all kind of things to hide the fact.

Last but not least, the Artistic License 2.0 is very flexible about what is considered a derivative work and what is considered a mere aggregation, linking, etc. I won't go into details here but I like those terms, too, because they fit well my idea about what is and what is not a derivative work.

In the same spirit, for things that are not software I like the Creative Commons Attribution 4.0 unported license. Although it is not entirely equivalent to the Artistic License 2.0, it is very similar in spirit and the conditions fit me quite well.

Well, that's why I chose the Artistic License 2.0 for my work. Of course I don't think that people that use GPLv2 are wrong, because I still think it is a very good license, it is just that I no longer like some of its requirements and I prefer to use another license for my work. Other licenses are equally good, and I like them as long as they qualify to my idea of free software (allow people to use the software for any purpose, to learn how the software works inside and adapt it to their needs, to redistribute the software and to improve the software and redistribute their improvements), but I prefer the Artistic License 2.0 by now. Maybe in the future I'll find a better license and I'll relicense all my work under it. Who knows...