Follow up for Slashdot and Source Code Release

First off, welcome Slashdot readers! 🙂 http://developers.slashdot.org/developers/07/12/15/1332207.shtml

I just got done approving all your comments after waking up from a nice 10 hour sleep (yay weekends). Many are supporting, some are not so kind. I’m approving any comment that is non-spam (“free casino games!”), although if there are cuss words I am redacting those portions with asterisks. I’m not trying to censor discussion that I disagree with, in other words.

Anyway, to clarify: I am not closing Paint.NET’s source code. I am still releasing the source code for Paint.NET v3.20. I have the zip file right here (well, 7z file ;)) and I just have to wake up first (not want decaf!) and do uploadings and e-mails and HTML stuff to publish it. The only thing being removed is the installer, and the translated string resource files. The license has changed to move the resource assets under a Creative Commons license. That’s all. I believe this keeps 99% of what 99% of people are interested in, while closing the doors that enable the 0.0001% jerks out there to easily exploit things (“I have to write my own installer? Wah boohoo, I’ll find another target.”) I’ve kept track of some of the “easy exploit” vectors and have found ways to either legally prevent them, or to make the work required to loophole them enough that lazy people will give up quickly. Also, please remember that this is the Internet and I can change my mind later. This isn’t the ten commandments chiseled in to stone tablets 🙂 I could very well decide it’s too much effort to do this, and find a different way to address the problem. Maybe I’m just blowing off steam.

The goal is not to prevent any open use of the source code. Some have suggested that I should sue the guy, but I’ve already dealt with him so that isn’t necessary. Some have suggested that I should have used the GPL or BSD license, but that wouldn’t be possible because first, I don’t like GPL (let’s please not start a battle about it). Second, it would restrict some of the freedoms that I do want to allow: honest incorporation of portions of Paint.NET’s code into another software without licensing stipulations (for starters). Third, I don’t have complete executive privilege here. Portions of Paint.NET are incorporated from elsewhere (with permission of course), or are even owned by Microsoft from way back in the day, and I cannot change those parts of the licensing without consent (or by doing a full rewrite). Nor do I want to chase everyone down to get this consent when I can achieve my goals easier by doing something else. So I have moved the resource assets to a CC license which means if you really want to rip-off Paint.NET then you have to rewrite all the text and redo all the graphics. At that point you have proven you are either not lazy, or that you have OCD, or something. By which time I’ve released 4.0 and you are way behind again.

There was a comment about the Mono guys and their porting efforts. I don’t believe this will hinder them, nor is it a goal of mine to do so. I’ve e-mailed with Miguel de Icaza on occasion with the specific intent of making sure that it is possible for them to port Paint.NET. They wouldn’t be able to make much use of Paint.NET’s installer code anyway because it is very Windows-specific. And they probably won’t need to edit the resource files and can just use them as-is. If/when we find problems in the licensing that impede this, then we can adjust the license for the next release. Or I can provide them with permission to do what they need to do. This is iterative development folks, isn’t that what everyone likes?

To address why I didn’t publish the guy’s name, website, etc. The reason is that I honestly believe there are some extenuating circumstances that are not fully known. From what I have read, some believe the guy is disabled, or is being purposefully defamed by someone who has a grudge against him. The other possibilities that I have considered is that he is mentally deranged in some way – split personality, schizophrenia, etc. This would be congruent with the weird e-mails I’ve had with him in the past. He has been seen under or claiming different last names. In any case, there would be no benefit other than revenge for publishing this information.

11 thoughts on “Follow up for Slashdot and Source Code Release

  1. Aidan Thornton says:

    In a sense, you are as good as closing bits of the source code. Let’s suppose that, some day, you lose interest in Paint.NET or can’t carry on development. Then anyone wanting to pick up development has to rewrite the installer, the string resource files, etc.

    In other words, the ability to fork is an important part of why open source actually works. In fact, if this was a project of any significance or with many outside developers, I’d expect to see a fork right about now, probably followed by all the external contributors moving to it.

    I think this also means that, if anyone wants to add features to Paint.NET that you’re not interested in or don’t think are a good idea, they’re basically screwed. Sure, they can add the code, but what about the resources? (UI improvements are right out.)

    (Also, I’m pretty sure that the new license means that it can’t be distributed as shovelware on cover-mount disks and the like; I’m not sure if that’s a good thing or a bad thing.)

  2. Aidan Thornton says:

    By the way, I’m not entirely sure whether the new Paint.NET can legally be used by companies or to do for-profit work. Common sense would suggest so, but there’s an interesting clause in the CC license they appear to be under (emphasis mine):

    “4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:

    You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works.”

    I’m not sure whether or not this would prohibit companies from (say) installing the software on a bunch of their machines with the intention of doing commercial work with it, but I wouldn’t like to try it without consulting a lawyer first.

  3. Rick Brewster says:

    Aidan, that’s actually the main concern I’ve had with this licensing change. I frequently get e-mails from people asking about this very situation anyway (I always say “go for it!” of course), and I plan on making adjustments if necessary. I have to put out a v3.21 “QFE” type release (simple bugfix release), probably by mid- or end of January, and that will be a good opportunity to make any licensing fixes as well.

  4. None says:

    *If* you close the installers source code, *then* please at least document what exactly it does, so that we can make our own installer.

  5. Dumb License says:

    Any site which has advertisements on it cannot distribute your software, source code, install package without permission from you because you say non-commercial. Download.com cannot offer your software for download because they are not allowed to distribute your art files and installer.

    I cannot produce a CD “Best of Windows Opensource” and distribute your program on it and sell the CD for even just the cost of the CD itself.

    Everyone who distributes your software must do so at a loss, not even a break even point.

    You have effectively doomed all distribution of your software because your license did not grant distribution (of even the unchanged software, art and installers) in all cases.

    Oh you didn’t mean it? Then get rid of the silly license. Open up.

  6. Craig says:

    Rick, I understand the arguments for not suing the guy, but please consider this argument in favor of suing him – he will only continue to do the same thing to other people if you do not. And, quite possibly, even if you do, I’ll admit.

    Having taken a little poke through the ashes of this one, unnamed guy has been doing this for at least 5 years. And is still doing it today, despite having removed your Paint.net from his site.

    Suing him might get someone involved (parents, courts, mental health professionals) who would then at least be aware of what he’s doing. If he’s innocent (and I have come to the conclusion that he’s not) then that would come out, too, thanks to your lawsuit. At the very least, the offending site would be shut down.

    Sue him for the benefit of others, so that they don’t have to go through the same annoyances you just went through. Please.

  7. Rick Brewster says:

    Craig, I think you over-estimate how much time and money I want to spend on this issue. I’ve already shut him down 3 times, multiplied by zero dollars each time, equals zero dollars. Maybe 3 hours worth of effort.

    This whole story has been blown waaaaaay out of proportion.

  8. jon_joy_1999 says:

    “Suing him might get someone involved (parents, courts, mental health professionals) who would then at least be aware of what he’s doing. If he’s innocent (and I have come to the conclusion that he’s not) then that would come out, too, thanks to your lawsuit. At the very least, the offending site would be shut down.”

    if he’s competent, the courts can’t do anything for him unless he is a harm to himself, or to others, or he wants help

  9. SamerAZ says:

    Thank you for providing the source code. I am learning alot from it.

    Can someone please provide us the newbies as to where the program start. and how can we debug it…..Thanks

Comments are closed.