in reply to Selling your Perl app

I'd have to agree with moritz, there should be no shame in profiting from your work. There's a lot of good responses above but the one thing I see missing is

What are the licenses of the code you've built upon?

I'm just assuming that what ever you've built, it has CPAN modules in it. You're really going to have to do your homework if you want to sell a product that's reliant on CPAN modules (ie, you may have to negotiate a separate license from the module creator - if you can find him/her). *Or* you would have to package your application in such a way that part of it is *free* and part of it is not.

My advice, just give it away and profit in karma. I think there's very little profit potential in selling code at this level, the internet is haunted by the burned out skeletons cheap shareware (apologies to Bruce).

-derby

Replies are listed 'Best First'.
OT: Licenses on CPAN (was: Re: Selling your Perl app)
by moritz (Cardinal) on May 08, 2008 at 12:15 UTC
    I'm just assuming that what ever you've built, it has CPAN modules in it. You're really going to have to do your homework if you want to sell a product that's reliant on CPAN modules (ie, you may have to negotiate a separate license from the module creator - if you can find him/her). *Or* you would have to package your application in such a way that part of it is *free* and part of it is not.

    IANAL, but I think all CPAN modules that are distributed under the "same terms as perl itself" can be used without problem in closed source, commercial applications. Just the like the core modules that come with perl itself.

    This might not apply to GPL-only modules. If you use a module, one might argue that it's the same as with linking against a GPL'ed library, in which case the whole application must be GPL'ed.

      From the CPAN FAQ:

      How are Perl and the CPAN modules licensed?

      Most, though not all, modules on CPAN are licensed under the GNU Public License (GPL) or the Artistic license and should be stated in the documentation that accompanies the module itself. If the license is not specifically stated in the module, you can always write the author to clarify the issue for you. Also, the text of the Artistic license and the GNU Public License are included in the root directory of the source distribution. From the 'README' file that comes with Perl: ....

      So ... like I said, the OP needs to do his homework.

      -derby
Re^2: Selling your Perl app
by tirwhan (Abbot) on May 08, 2008 at 13:38 UTC
    You're really going to have to do your homework if you want to sell a product that's reliant on CPAN modules (ie, you may have to negotiate a separate license from the module creator - if you can find him/her). *Or* you would have to package your application in such a way that part of it is *free* and part of it is not.

    This is incorrect. The CPAN module license only comes into play if you want to redistribute said module. Anyone is perfectly free to write a Perl application using tons of CPAN modules and distribute this application under any license they choose (e.g. close-source and charge for it), as long as what they distribute is merely the application code itself. If they want to distribute the modules as well in a package, then you are correct, they would have to clarify that these modules are under the original license (GPL/Artistic/whatever). But merely distributing ones own code which relies on CPAN modules does not have any licensing implications for this code.IANAL etc.


    All dogma is stupid.

      Poor choice of words on my part. I did mean distribute/include CPAN modules in the code you sell -- that's why I mentioned packaging -- you can architect the app in such a way that any reliant CPAN modules are *outside* your app.

      However, I think you and moritz, while pointing out good issues, failed to grasp the most important point of my original post (but maybe that's because I didn't do a good job of writing it). My point is this:

      If you're going to sell a perl application, and said application depends on CPAN modules, you *must* investigate the license(s) of those modules and if there are restrictions, either architect around the restrictions or negotiate a different license with the author(s) ... just saying, "oh it's on CPAN, it's under the same license as perl" can get you into a lot of trouble.

      -derby

        I think what you are trying to say is correct ( and for the record, yes, I'm aware of that problem), but you use the same incorrect words again in your new version, so let me try to change that with a few words:

        If you're going to sell a perl application, and said application depends on includes CPAN modules not written by yourself, you *must* investigate the license(s) of those modules and if there are restrictions, either architect around the restrictions or negotiate a different license with the author(s)

        Again, dependancy has nothing to do with it, it is merely packaging. No need to "architect around" anything, just don't put the modules into the tarball/CD you distribute and your work is done. This is an obvious approach anyway, since otherwise you never benefit from bugfixes to said CPAN modules (OTOH you also don't know for sure which version of the module the user has installed, but that's a feature as far as I'm concerned, because it requires you to keep your app up to date, which should result in fewer bugs).


        All dogma is stupid.
        I cannot emphasize this point enough. And, it's not enough to investigate the licenses of the modules you're using. You also have to verify the licenses of the modules they are using, particularly if the module uses stuff from outside of CPAN.

        My criteria for good software:
        1. Does it work?
        2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?