Jump to content

Creating commercial licensed modules?


processwirefan
 Share

Recommended Posts

I have read

http://processwire.com/talk/topic/2880-commercial-modules-and-licenses/

but still have question about creating modules that will be located in

site/modules
wire/modules 

and there is a sample module

site/modules/Helloworld.module

with the following class declaration

class Helloworld extends WireData implements Module {

it extends WireData class and implements the Module interface. So it's not exactly API, in this case, does this module automatically inherit GPL v2 license from ProcessWire? Or can I use my own license (MIT, Commercial, etc.)? What's your stance on this?

I am thinking about creating commercial apps using Laravel 4 framework, but ProcessWire can be a great candidate as a framework for certain apps to speed up the development process.

Thank you.

Link to comment
Share on other sites

There are already commercial modules - ProCache and FormBuilder. I understandably concerns but wouor say don't worry about it :)

If you take the commercial modules from a certain popular blogging platform as an example, theit functions would interact with the core code as well so it's a bit similar to that except you can tie in Mich more with ProcessWire's functions in PW modules.

I don't believe you're bound by the license just because you're building a module.

There was a discussion around this a long time ago but I can't find the topic - can anyobe remember where it is? I vaguely remember ryan giving his opinion on thus subject.

Edit: you linked to it at the start - oops!

Link to comment
Share on other sites

I think ryan and my reply in the post you link cover it really. You're not altering the core, you're building something that merely talks to it so you shouldn't be worried.

When ryan himself has said what you can and can't do then I would take that as permission to go ahead with commercial modules.

Your specific worry about it extending the class - I get that, but that's the only way to create a module that accesses the API. In this case I think it's fair usage.

Link to comment
Share on other sites

This is a confusing subject. I know that wordpress considers plugins to be gpl. Wordpress has the same licence as processwire.

Some suggest that plugins for gpl software just needs to be gpl compatible. There seem to be conflicting opinions on this.

A lot of wordpress plugins are both gpl and commercial in the way the plugin provider sells a licence for support and updates.

Personally I find the MIT licence easier to understand.

It would be interesting to know how the ProCach and FormBuilder licences work?

I have had confusion over this myself as far as these modules go.

Are their licences for 1 years support & updates or one years use, support & updates? Can i use FormBuilder or ProCach after one year?

Do i need to buy another years licence to keep using formbuilder on my sites?

Link to comment
Share on other sites

It's a fact that you cannot (legally) combine GPL code with code under any non-compatible licenses. That'd be a violation against GPL and most likely against the other license too. Ryan's explanation (here) is based on his interpretation of what extending / building on another application really means; as he explains it, he doesn't consider 3rd party modules to extend ProcessWire -- they just use an API it provides.

I would argue that this is a legal grey area and no-one really knows for 100% sure how these rules work or what's legally considered "extending". Even the code word "extends" doesn't necessarily imply that this is something that in legal sense "extends or modifies" ProcessWire and thus needs to be published under GPL (or not be published at all).
 
Heck, even FSF, though they (or mr. Stallman of FSF) are the authors of GPL license itself, admit that they don't know for sure how this would be interpreted in a court:
 

Where's the line between two separate programs, and one program with two parts? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).

If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program.

So, I guess it's ultimately a question of whether ProcessWire modules are "intimate enough" with ProcessWire core to make a single, modified program vs. running as separate, individual programs that just communicate with each other. Personally I'd trust Ryan's judgement on this, as it seems to make sense.

What I would like to point out, though, is that legally it doesn't make any difference what anyone here, including Ryan, has to say about this -- what really matters is the copyright law and how it should / would be interpreted. In any case I don't think that anyone is going to sue you for creating a commercial module with closed license.. :)

@dazzyweb: regarding FB and ProCache licenses, see this post by Ryan. AFAIK this applies to both modules.

  • Like 2
Link to comment
Share on other sites

Yeah, used it for a jQuery plugin a while ago. Can't get much more "permissive" than that.. :)

There's a license for pretty much every specific need out there, but for a system like ProcessWire I believe GPL was good choice. At least we, it's users, know it'll stay free (as in freedom, but probably as in beer too.)

  • Like 1
Link to comment
Share on other sites

I think that's the key - ryan's posted his interpretation of it here on the forums so you have the software author's permission - I can't think of a scenario where a court would argue against the software author's intentions partly because the GPL can be interpreted several ways as we've seen.

I agree that something on the main website would be a good idea as well spelling out ryan's intentions - either on the plugin modules page or maybe a separate commercial modules sub-page that perhaps also links to commercial modules in the directory (if there's a way of filtering those? Not sure why you'd want to now I'm saying it though as it's better to search for something you need rather than filter by paid/free :D).

  • Like 1
Link to comment
Share on other sites

@Pete: you're absolutely right there. A court probably wouldn't argue against copyright holders intentions especially considering that if someone "violated" the terms set by ProcessWire's GPL license, i.e. didn't adhere to the requirements set by said license, then the license wouldn't apply to them and they'd actually be violating Ryan's rights as the copyright owner.. and only Ryan could sue them for that .

See where I'm going with this? :)

To summarize this, if you want to extend / modify and then distribute a copy of ProcessWire that's licensed under GPL, you must follow the rules set by that particular license. Otherwise the license wouldn't apply to you and you'd in turn be violating Ryan's rights as the copyright owner.. which wouldn't make any difference unless he decides to sue you for that.

On the other hand, if Ryan ever decides that he wants to provide you with a copy of ProcessWire under another license (and as the copyright owner that should be well within his rights, though I'm not a lawyer and might be wrong here), you can modify that copy without having to consider rules set by GPL.

This Stack Overflow answer pretty much summarizes it all. Highly recommended!

Edit: this is getting pretty far from the original subject, which was commercial modules. I think that we've just about reached the conclusion that yes, you can create commercial modules, and no, you probably won't get sued for that. Since this seems to be a relatively common subject here these days, perhaps it would make sense to add some kind of short explanation to the website, maybe to About > Licensing section? :)

Edited by teppo
  • Like 1
Link to comment
Share on other sites

On the other hand, if (and I'm not a lawyer, so don't take my word for granted) Ryan ever decides that he wants to provide you with a copy of ProcessWire under another license (and as the copyright owner that's well within his rights), you can modify that copy without having to consider rules set by GPL.

Does that mean Ryan could still change the licence of processwire to say MIT licence or a different licence if he wanted?

I thought once something was under gpl licence that it couldn't be changed.

Link to comment
Share on other sites

@dazzyweb: no-one can revoke the license on copies already distributed under GPL, that'd be impossible, but the copyright owner can always distribute more copies, with different licenses each. That's what multilicensing is all about.

.. and yes, it does sound kind of like a technicality, but that's how copyright law works. License is something that the developer uses to grant users permission to use his work, not something he is bound by himself. Ryan doesn't need a license to use ProcessWire, copyright grants him that permission already :)

Link to comment
Share on other sites

I see ProcessWire as a system that you build things on top of, and that's the purpose of it. You don't download ProcessWire to start publishing content in 5 minutes (even if you can), but rather to build a site or application. So ProcessWire is much more of a tool to accomplish some end means, rather than the end means itself. ProcessWire and WordPress are completely different animals in this area (opposites really), and I think it helps to explain why you can't assume that WordPress and ProcessWire would be considered in the same light via the GPL. I think the GPL is flexible enough to handle both. That's not to say we might not switch to MIT in the future, just to avoid even having to talk about it. But I prefer to stick with GPL at this time. When it comes to my own commercial modules, I still consider them open source for the users that have them, and any fees paid are for access to and support of the product. The 1-year timeline applies only to support. You can continue using the products as long as you'd like.  

  • Like 5
Link to comment
Share on other sites

  • 4 months later...

I dissagree for the modules to be commercial. Ok, maybe 2-5 but that's all.

IF we start making commercial modules, in the end we will focus on how to make those modules instead of improve Processwire. Is better if we leave Processwire 100% free in all aspects.

Of course nothing is free  and therefore we all need to earn our living expensces , but is better if we earn them by providing to our clients the BEST services instead we make commerical modules. Commerical modules for who? We are all developers, do we need to sell to each other modules?

Let's take Linux, is the BEST operating system and is free, there is a small fee for support but that's all.

Do we need Processwire to become a supermarket like Wordpress or Concrete 5? or we prefer to improve the core so we will get more clients?

It will be a BIG mistake if we make Processwire a commercial platform or/and modules to be commercial. Let's keep it free and FOCUS on the core. And let's organize a Donation online event, for example let's say that every year (for example every Christmas ) we all give 50 Euro(or dollars)  as a donation to the Processwire, so they will keep paying for the hosting, invent into new core, into new modules etc etc

I prefer less people to use Processwire but those people to be REAL developers with good clients, quality instead of quantity. Of course is a matter of choice.

To be honest all this is JUST my  personal opinion, maybe I am wrong :)

Link to comment
Share on other sites

Processwire will always be free, but commercial modules have a place where a lot of work has gone into something.

For example, ryan currently has two commercial modules that add great benefit to a Processwire installation. He has put in many thousands of hours into this free platform. Are you going to begrudge him making money out of some very useful modules that you have no obligation to use?

I also want to make some commercial modules eventually too and see no problem with it as long as developers don't start charging for teeny tiny things.

  • Like 5
Link to comment
Share on other sites

Plus the prices that ryan is charging are so low for what they are I really don't have a problem paying them personally. I wouldn't mind it if he increased the prices actually - the benefits are that great.

  • Like 5
Link to comment
Share on other sites

I don't see a problem with commercial modules. In fact, if that little extra cash allows the developers to spend more time working on them and publishing higher quality stuff others can buy (for a reasonable price) and use in their projects, everyone benefits :)

That being said, high quality free modules (or commercial ones made available with a PWYW model) are still more than welcome and (IMHO) have a very important role in the future of this project.

Personally I'd like to see that "donate now" button one day too.. and definitely some non-software products (clothing, mugs, pins etc.) When it comes to raising funds, FSF is a model example of doing it right.

  • Like 5
Link to comment
Share on other sites

Some people put a LOT of work in this project that benefit a lot of other people. The fact that they can sell a very small percentage of this work to compensate all this involvement is probably the only warranty that you have that they won't be forced to stop doing it at some point. You are already using a great piece of software* without paying a dime for it.

Edit: *sorry for the understatement. Please read: "the best CMS and best CMF in the world"   ^-^

  • Like 5
Link to comment
Share on other sites

Hey Pete, you missunderstood me :lol:

Feel free to clarify :)

I'd prefer to pay ryan for some of these modules rather than give him a $50 token "Happy Christmas" present :P;) (Yes, now I'm making fun, sorry).

I don't think it will turn into a modules supermarket. Certainly there's not a facility to upload paid moduled by other developers to the PW store yet, so if there were a lot of paid modules they would have to be on the developers' own sites, but I'm sure as more commercial modules are released it will be done so in a cautious and sensible manner.

Link to comment
Share on other sites

There are a lot of fantastic, free (as in freedom and as in beer), modules available for PW already. Having some modules that cater towards the commercial end of the client base will not only provide potential revenue streams for authors but also make PW a more go-to option for larger installations and clients, as well as seeing functionality holes plugged.

Personally speaking, my mind tends to blank out paypal donate buttons on sites wherever I see them. I don't know why that is, but it might be that I associate it with some form of begging. Having personally experimented with "ransoms" for plugins I wrote for Textpattern I can tell you that developing them still worked out at a large net loss for me. I'd now rather pay up-front for an agreed service or product.  :)

Link to comment
Share on other sites

It will be a BIG mistake if we make Processwire a commercial platform

No it won´t. Opensource with paid support and paid modules/forms/templates etc. works perfectly.

Providing paid professional support, modules, templates, etc. etc raises respect and attracts different clients.

Commerical modules for who?

Shops, pro seo, pro templates, billing systems, order tracking, renting, bookings, real estate, etc. etc.

It´s a big world out there.

Also check processwire jobs => https://processwire.com/talk/forum/22-jobs/

Let's take Linux, is the BEST operating system and is free, there is a small fee for support but that's all.

Ever seen the linux support from red hat, oracle, ibm, ubuntu etc. ?

And let's organize a Donation online event,

Donating doesn´t work, I will spare you the reason why.

We should thank Ryan and his coding team for releasing processwire with the level as it is today for free.

I would go for this:

Leave it for free for what it is today but:

a) paid future upgrades to the core

b) paid pro modules/forms/templates/etc.

c) paid support

  • Like 3
Link to comment
Share on other sites

Personally speaking, my mind tends to blank out paypal donate buttons on sites wherever I see them. I don't know why that is, but it might be that I associate it with some form of begging.

Begging, you say?

Seriously speaking, agreed. This is why I prefer selling apparel etc. over simply asking for money. $100 for a printed photo of Richard Stallman, even if it's autographed, is a bit much, but people still buy those to support a cause.

Too bad someone already invented skyscraper plushies..

  • Like 1
Link to comment
Share on other sites

I can understand adonnis point of view for someone that is new to Processwire but once you come to appreciate what Processwire offers then paying a one off fee for something like form builder (which I hope to purchase soon) and at the same time supporting Ryan and the Processwire development seems like a bargain to me considering the hours it takes.

The only concern I would have is if possible improvements to processwire often or only start to become paid modules instead of something that could be made a part of or an improvement to the processwire core.

  • Like 2
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...