There's currently a discussion going around twitter about the idea of a Drupal App Store. Now, I don't actually want to talk about the merits and problems of the idea itself. From what I can tell, what this really is meant to be is a conversation starter for a presentation that Robert Douglass is giving in Brussels. And the idea of an App Store has some very interesting ramifications, some positive, and some negative.

But as I said, that's not what I need to get off my chest.

At least one person said, during this, that all software should be free. My response to this led to some friendly conversation that more or less said that it's not okay to be paid to write software, it's only okay to be paid for providing services around the software.

An unfair analogy: Nobody would ever build houses if they were only paid for the services around the house. Now, the analogy is unfair, because house building has a certain amount of materials cost that writing software just doesn't have. That said, there is a lot that house building and software building have in common, once you start building something bigger than a doghouse: 1) Doing it well requires a team, planning, architecting and executing. 2) There is a significant investment in labor to do all of this.

Another unfair analogy: Fiction authors would likely never actually write fiction if they were only paid for services around the fiction. What service is there? They spend months writing a novel and...then they're done. They could perform readings and of course there's signings and tours, but ultimately the profit in writing fiction is selling books. Not necessarily physical books, but if the books were given away, it's hard to envision where the income is from.

A similar unfair analogy: Musicians, today, are struggling with the digital age. Right now music is treated as a commodity, and an industry that's always had control of the media has mostly lost it. Musicians have a bit more leverage in the idea of services around the product: right now, musicians make their money through concerts (and the music industry takes most of the money through sales). There is also the pay-to-play revenue from radio which is in turn funded through advertising.

A final unfair analogy: We vote politicians into government positions to provide services (theoretically) for our society. We don't actually expect these politicians to do their work for free, unless we're a certain brand of libertarian. The reason is that doing the job of being a congressman or mayor or president is a full time job and you've got to be able to eat and very probably support a family.

The reason that open source often sucks is that when there's no direct revenue for building it, there is something else that drives the need or interest for it. Scratching your own itch, scratching a shared itch, sharing the code to get growth from the contributes of others with similar itches. But one thing that open source doesn't do a good job with: building teams of people with complementary skills to make sure that the software is a good experience for the customer. Why? Because there is no customer. Oh sure, hundreds of thousands of people use my software and they consider themselves customers, but ultimately they are not. Why? The definition of a customer involves, among other things, providing a revenue stream.

Obviously, I have a great love of open source, but I've never been an idealist about what open source means or why it works. I am a pragmatist. And part of that pragmatism is recognizing that I am rather lucky in that I've been supported by companies with a vested interest in my software who have given me the freedom to make sure my software continues to advance. Many potential open source contributors are not so lucky. We constantly ask for contribution with no compensation in return, and hope that the contributors will be able to find some alternate compensation. That's fine.

But the part that is not fine is when I start to see idealists say that it's actually wrong to get compensated directly. I agree that an App Store is going to have some very difficult, perhaps insurmountable problems gaining traction in a community like ours. But in no way is it fair to say that the model is inherently wrong. People can and do charge for software. A well built team with a revenue stream has the opportunity to build a much more polished product than a bunch of itch-scratching random developers getting together to build something. This isn't to say that they will: the corporate environment can produce vastly screwed up results just as well as open source, and market realities sometimes reward incompetence in the same way that a good product fails to get traction.

Our current software world requires balance. Open source is a great balance to closed source products, but if every product available were open source, and there was no longer any closed source code out there, is it logical that we would see the same level of investment? Is all that money really going to come into fully open source products looking for other revenue streams, trying to make all their money by metaphorically performing concerts?

I love open source and I'm glad we have it and to be a part of it.

But I do not love reading that pay for play models are wrong and evil. Is it really wrong to build a distro and then try to sell the distribution through an app store? GPL doesn't prevent you from selling the product, it just prevents you from withholding the source of the product you sell. You can provide incentives to your customers and there are parts of a distribution that you don't have to make GPL, and you can sell that.

But what's more important to me is that: Software development is not free. Just like writing a book, writing music, making a movie, or building a house all take skill and labor, writing software takes labor. If you try to tell me that the only way for the house builder to get compensated is to charge to come fix problems after the house is built, two things will happen: 1) a lot fewer people will build houses and 2) they'll build shittier houses. Even if you provide all of the materials.

The same is true of software.

Comments

Well said, Earl. There's a big difference between "all software should be Free" and "all software should be free". The former in practice often implies the latter, but they are different things and even the GPL itself allows charging money for software.

The pay-per-copy business model just doesn't work very well, practically, unless you have the completely artificial system of copyright restrictions to prop it up. (Physical objects have a natural scarcity that makes pay-per-copy vastly more practical.) When you're dealing with copyleft software, it works even more poorly.

But that's a far cry from the socialist-utopian "money is immoral and charging money for something is immoral" attitude you seem to be describing. I agree that's unproductive and harmful.

I get paid to give software away for Free/free. I like this model, especially the "get paid" part. :-)

Right. It works when your employer uses the software you create. It's a lot tougher when you want to create something that no single employer is going to get enough value out of to justify the total cost.

That's where you want something that allows you to pool customer's money together. Pay per copy is the obvious way of doing that, but it's not the only way. Subscription models are actually a little bit better, where you're paying less for the software and more for the maintenance. But in practice, they result in the same thing.

How do we handle the fact that the cost per copy of software, or any virtual good, is essentially nil?

The only way that makes sense to me is to base charges off of resources that are limited: time, and usually expertise. As a developer, it doesn't "cost" me anything if someone uses a copy of my software. If that person wants support, or specific modifications, those both cost me time, and I should charge for it. This model seems to work very well when businesses are working with each other. I'm not sure how we can express this in the 1 developer:1 million users ratio that is common with "end-user" software products. In a way, Minecraft has almost done this for games. Release a simple proof of concept, and ask your users to pay if they want to see more done with it. I wonder if such a model would work in the Drupal world.

Minecraft is an interesting model -- maybe we should all be more forward in putting a node on our project pages to the effect that we're available for sponsorship to push the project forward.

> That's where you want something that allows you to pool customer's money together.

Yup, this is the thing we're missing.

I don't think an app store in iPhone model is the way to do it -- for all the reasons MortenDK gives over on his blog, but we could really do with something that allows several parties interested in a project to pool together.

One thing that's really interesting about this argument: the 'customer' in our case, i.e, Drupal, is often actually making money on our software. Think about that for awhile.

You pay someone to build you a house. You live in it.
You buy a book and read it. You entertain yourself.
You buy a song and listen to it. You are entertained.
You download Drupal, build a website, sell stuff or get an ad revenue, drive clicks and make money.

This drives demand for free software, but doesn't necessarily fund its creation.

Well said. Drupal wouldn't have the traction that it does without corporate/academic sponsorship backing the development of contributed modules. The downside is that such sponsorship isn't guaranteed to continue. In my case, our department needed an a module to integrate Drupal accounts with our University web-based authentication system. The module is now in use all over campus by many departments. Unfortunately, after a reorg, I was told last year to stop working on it because "our department isn't funded to do that" and no one else is willing to commit the funds to continue.

I haven't followed the app store debate in detail, but my first reaction was a big, resounding "Why?", swiftly followed by an equally prominent "How?"

I'm a pragmatist myself, and I'm definitely not suggesting that open source contributors should starve, but I really don't see how an app store model could possibly work to anyones satisfaction. Almost certainly, the overwhelming majority of entries ("apps"?) would never get their cost remotely covered, yet almost everyone would try their luck, and the net result would be an major drop in community participation.

The question of an app store is really two very different questions: 1) Should software be free/open? and 2) should developers be able to support a decent lifestyle?

I won't pitch in about the former, but on the latter my opinion is straigthforward: most open source contributors are already able to support a very decent lifestyle. At least if they (and their contributions) are worth a damn. They may not have the job of their dreams, but then again, maybe their contributions are not all that significant. Wet dreams about an app store hit (which, I suspect, plays a big part in this debate) will not improve their lifes.

Indeed, your case is special (would you like a job i Copenhagen, btw? ;), but it has little to do with luck, and because of that, you will never starve.

None of this matters as far as Drupal the software and Drupal the community are concerned. What matters is that a significant portion of the Drupal community uses Drupal because everything about Drupal is free. If there are significant aspects of Drupal that become not free, then there will be significant parts of the community that will leave, and growth will slow significantly. And if the community leaves, then the developers who tried to sell their software around Drupal will fail.

I guess it depends on what you consider significant. If core features suddenly went for pay, that'd really upset the existing model really badly and would have dire consequences.

But things that completely don't exist right now? There's a reason they don't exist right now, and there IS a model where paying for them in some manner could work.

By that logic, we would not have Drupal, right? Drupal completely did not exist before it did, and it came about in the model we have now.

Core features or not, paying for features in Drupal is a radical break with the past. Replacing the ethos that brought us to this point with a commercial one will simply kill the community.

I haven't followed the debate closely, but I have to say that the idea that the Drupal community would somehow be "killed" by something as simple as an App Store is, to make a bit of a pun, overkill. Innovation happens. Things grow - as Drupal is growing. If there's an opportunity for people to use Drupal to create great things that other people find monetary value in, LET THEM. There's plenty of room for the rest of us to do what we need to do with Drupal, and Drupal as an open-source, free software that we develop websites in will still be there.

Here's the thing: if you have clients who pay you to develop websites in Drupal, YOU'RE GETTING PAID TO USE DRUPAL. Which makes Drupal no longer free. It's free to developers and designers who build in it, but not to the clients who end up with the site. Additionally, I'd be willing to bet good money that, with some exceptions, much of the code that's been contributed to the community at least started as a problem that needed to be solved on a project the developer was being paid for. Again, Not Free. So why would an app store be any different?

Dani to put it very short. Its the directly opposite culture of that Drupal is coming from, if we change the foundation of drupal development to a "Build & Develop with the credit card in your hand" model, then the drupal project as we know it is dead. Thats will result in forks & bitter crap - that is not growing or evolving, thats slowly dying
I have tried to list up the nightmare scenary up in a post here: http://morten.dk/blog/drupalappstore-killed-drupal

We do indeed need to look into ways to transfer revenue towards the project, an appstore where each project cost 0.99$ is not an option imho.
/mortendk

What matters is that a significant portion of the Drupal community uses Drupal because everything about Drupal is free.

When evaluating with which open source CMS we should create our Intranet, Joomla fell by the wayside not just for technical reasons, but also because there are frequently modules to pay for, and my company wanted a completely software-cost-free inhouse solution. (I didn't come for free so the point about getting paid for developing free software is very valid.)

So far, the Drupal community was 120% committed to free modules. And it felt good and it was a kind of equalizer. I could contribute with my knowhow and testing even though I could not contribute by spending money. An app story would change the whole philosophy of the community. (Though, maybe some would argue here that this philosophy has already been diluted and this is only the next step.)

It's possible that for job reasons, I soon won't do any Drupal anymore, and just follow this from the outside, but I'd be really sad to see the original state of this wonderful community changing into something I can't recognize and couldn't recommend anymore.

Donations aren't the real answer. Why? Because you can't guarantee *anything* for a donation. This is something we struggle with often, because the problems that we're working on solving require a lot of dedicated time to get done. If you donate 25, 50, even 100 dollars - that may seem like a lot to you but it barely covers one hour of overhead. You make that donation hoping to see progress on something you believe in, but unless enough other people are willing to open their wallet at the same time, then the developer can't actually guarantee you're going to see a return on your investment.

Someone further down suggested the idea of crowd sourced funding, ALA Kickstarter. To me this is much closer to a real answer, and something we've also thought a lot about. The difference between crowd sourced funding and donations is the fact that the developer has the ability to declare that feature X will take Y time and cost Z. They can then solicit funding for Z and people can come along and donate freely. The win-win-win here is that the contributors will not be charged anything unless Z can be met. Once enough people have shown interest to fully fund the project, their donations are collected and everyone can rest assured that something will get done. Contributors can feel good about providing sustainability for a developer while being reasonably confident that what they wanted to see happen will happen.

This all leads back to sustainability, which I see as a huge problem that the community hasn't yet solved. Earl and a few others are lucky that they have employers who can afford to provide them the freedom and time to develop amazing tools the whole community benefits from. Other developers who work on similarly complex problems aren't as lucky, and struggle to find balance between taking on work that will pay the bills and finding time to build compelling tools to solve problems they believe still need to be solved.

When problems are so complex that few people could take on the first copy cost there aren't a lot of options currently available to solve those problems sustainably. Sustainably both for the developers working on them and for the community who'd like to see the problems solved or rely on the tools ongoing maintenance once it's been delivered.

The attitudes that have come up around this discussion, in particular the "All software should be F/free" attitudes are disheartening. I agree that there are some fine lines to walk here. A model where there's per copy costs for modules could seriously split the community as it has others before. However it's too easy for these people to throw away the sustainability of others. In most cases these people demanding software for free are then taking that software and making money using it. They're making a profit while the developer providing the tools struggles to make a living. All to often these same people are quick to jump into the issue queues demanding new features or bug fixes for free, on their time frames. Often because they have a paying client who needs said work. Very very rarely do these people offer to provide support to the maintainers.

Unless these attitudes change, and unless we as a community can have dialogues like this in order to try to come up with solutions to the problem of sustainability, then we're going to continue having to rely on the rare generosity of employers or volunteer time from the folks who can spare it to move things forward while big problems remain unsolved and countless developers trying to build solutions struggle to make a living.

Instead of selling modules wouldn't it make sense to monetize the system better first?
Firstly, page every module page should have a clear and obvious donation button.
Secondly, donations should be encouraged by setting donation goals for bug fixes and new feature requests.

I know that most modules are maintained by employees of companies, but this is not always the case. So, why don't module pages on Drupal have an option for module maintainers to put information encouraging private parties to fund the work. Why don't companies get more credit for supporting modules. At least a logo or ad.

Personally, I think the "App/Module Store" idea is an unimaginative solution. Contributed modules are what make Drupal, well Drupal. Try building a Drupal6 site based on core only. Yeah, right.

I think what we should ask ourselves is how many modules would you buy if you had to pay for them.

I think Drupal, Ubercart, Views, CCK would've been modules that one would pay for.

But if you had to make a website for a client with a $5000,- budget then you can't spent too much money on licenses so would you also pay for token, wysiwyg api and lets say imagefield? Would you pay for panels or would you build it all with custom templates?

I think that there isn't a very big market for a lot of modules and that only some of the bigger, more used or niche modules can create a revenue stream.

I believe more in a system where you get sponsored for adding features, sponsored for doing security checks, sponsored for creating new UI and perhaps that one gets sponsored for fixing bugs/issues. But perhaps this is an ideal that will not work because not many people will sponsor stuff.

Basically what a webdeveloper in Drupal gets paid for (at least this is what we charge a customer for) is not building the code, but installing it, configuring it and creating a template and then after the project for housing/hosting it and maintaining it (updates, etc)

An appstore in Drupal can have some very deep impact like:
-If it's paid, will you still file issues/patches/etc to the module issue queue or do you expect the maintainer to fix everything. So what effect does this have on the progress of such module.
-If it's paid, will the Drupal security team still do security checks on it. So what effect does this have on the security of Drupal and it's modules.
-If it's paid, how many people will actually use such modules and what will this do to the survival of such modules.
-How many developers will quit Drupal because of paid modules
-How many developers will quit Drupal because of people are copying their paid modules for free.

What about a crowdsourcing model? Apps would be prefunded. Depending on the developers/teams reputation the app would reach critical funds more easly.
This is a model based on trust where everybody wins: The developers are payed for their work and the high quality opensource result would still be free for the community.
Integrating a crowdsource functionality on the drupal.org project pages would be easy.

I love the crowdfunding idea. A Kickstarter for Drupal. Seems like a great way to get developers better compensation while maintaining the spirit and integrity of the community.

I would pay for feature requests. If that feature request was time consuming and important to my project, its either that or pay a developer to create a custom module. Everyone wins i get a service i need and the module gets better. Of course there might be times when features are project specific and to implement those features on the module would not be reasonable. It might be a good idea to have a "hire a consultant" on the module page so that the module developers get first dibs on feature work for businesses , and if they are busy have a list of others that are very capable of completing the work. They have this on irc but that channel has been very quite everytime i have been on. There should be donate buttons on the projects pages .

As and end user I would be perfectly happy to pay a modest amount for a good module. It is ridiculous to assume that software should be free per se.

I once read a comment stating that the fact that Open Source software is free, does not mean you don't pay... This is totally true. I spent many many hours searching and experimenting to get things running for specific modules or customisations.

From my perspective, if I had paid for instance 10 dollars for Custom Pagers, I might get something in return: decent documentation for instance, or some sort of support from the author himself.
I think we should prepare for money entering this business. Drupal 7 could only be finished by hiring a paid professional to do the final ironing. Wake up to the real world...

Drupal 6 has people paid to work on it as well - Gabor worked full time for about the last six months of the release. I also got paid to work on some bits of Drupal 7 (only a fraction compared to what I did in my own time, but it's nice when that happens). However in all cases I'm aware of where that happened, including Acquia's, people were funded because the company they worked at was using Drupal 7 and they needed either X thing improved, or just wanted it stable a bit quicker, or both. This is also the way that a lot of contributed module code gets funded as well.

There is a huge, gaping, gap between paying people to work on software that gets given away for free, and getting paid via the distribution of the software itself. Drupal has plenty of the former and almost none of the latter - and it's one of the things that has made the community so healthy over the years.

So it's not a case of preparing for money to enter the business, that happened on a large scale years ago. It's about the development culture of the project, and whether people get paid for their time, or for a 'product'. It's also about whether it's viable for developers to start charging each other for code - whereas now no such transactions take place.

What hasn't really been discussed here is that in projects where there is some kind of app store model, what happens is companies end up being built around particular plugins. So it wouldn't just be a case of merlin getting some direct funds for his modules, you'd see shops opening up that try to sell commercial plugins and make money exclusively out of that. Everything I've ever heard or seen about this in other projects, suggests that such shops have zero interest in co-operating with other developers, not to mention it'd be extremely hard to have more than one company support the same code (in fact it's in their interests to compete directly with them), and if they go bust then the module ends up completely orphaned.

Morten said it on twitter (and on his blog), if he found a bug in a module that's hosted in the #drupalappstore, his motivation to fix it would be infinitely less than if it was hosted on Drupal.org. It comes down to "why should I fix your bug for free, when I already paid you for the module?". I enjoy contributing code to Drupal, I also do unpaid work on some (non profit making) sites that I've been working on for years. A side effect of contributing to a GPL project this is that some companies benefit from that work without remunerating me directly (and in many cases making any contribution to the project at all), as Merlin pointed out. However, this is extemely different for doing unpaid work for something that people can only (or 'only') use if they pay for it. If I go to the supermarket, I'm not going to spend 20 minutes helping to stack the shelves - that does the actual workers out of a job, and it'd be allowing the shop to take advantage of me.

Part of what's great about working on Drupal is that if a company pays me to work on a new feature or bug fix for a contrib module, when I update the code on my own sites, I get to use that same code, and I know that hundreds or thousands of people get to do it on their sites as well. This gets completely lost once the software itself is for sale.

What it boils down to is what was posted by Larry above - it costs next to nothing to provide a download of a module, so making money like that divorces the relationship between time spent and income. In all industries, the only way that model continues to work is by heavy application of copyright and DRM, in the case of Drupal - assuming modules were GPL and hosted in an open repository still, it would rely on either people being uninformed about where to find the modules for free, or not caring because they want to give the developer a few bob (in which case something like flattr is a much more honest way of doing it).

CiviCRM does a combination of free work and bug fixes, a donation button, corporate-sponsored features (like CiviCampaign), and crowdfunded features (like membership upgrades and better deduping). They also do contracted implementations and some other revenue streams. It's cool that they pick a half dozen features, estimate time to complete, and then run a Make It Happen campaign so that end users fund the features they need most.

I love Open Source and have supported the idea since before I knew it existed.

With the exception of Drupal, I paid for every piece of software on my Macs (and PCs too.) If there is a Camp, I offer time and money (sometimes, I don't even go - but I will pay the reg fee just to support.) I tip waitresses 40% when they do a great job - and even moreso when they are having a crappy day.

I do this because of two things my dad said to me as a kid "John, buy the best tools that you can to do the best job you can" and "Everyday, do something good for someone without them knowing it."

Being an artist (a 14th Century Venetian painter with post-modern Feminist tendencies, mind you), it was pretty much understood that, well, no one was going to pay you for the thing that you loved to do the most. They might say "Oh, I'll pay for canvas and paint." which, by the way, is really insulting. It is like you are born with this amazing talent that people fawn over - but you need to have rent parties - or deal with "Well, at least you'll be famous when you are dead." Still, you have this itch that you can scratch and a gift to scratch it, beautifully.

And I haven't even touched on the lifestyle facts -> How you actually have two jobs. Mondrian never got married because he "couldn't afford a wife". Why I have chosen not to have children because I won't have the time for them (see: Oprah). Making Art is more important than having kids??? Yeah, well, come to NYC and see that that is pretty common over here... well, was, as NYC is becoming Disneyland for the Rich - but that is another post.

So, getting paid for your work is very important. Blues musicians of the 20th Century, anyone?

I love the paradigm of open source -> you are valued for your contribution. It is a great "pay it forward" model. You do the work because it solves a problem you have/see, people use it because it is a shared problem, you are able to procure income based upon your reputation and work done. Add to that, people donating to you because they value your contribution.

Unfortunately, that works for the people who are actually INCLINED to pay for something. Many people just want it on the cheap -> they can't edit an image because their Photoshop trial just ran out.... "oh, can i have your code? you have a full version" - ummmm, i'll pass.

I think that there can be a balance here. I think that we can monetize what ALOT of development companies are doing through withholding: you can get the dev version or the verion with the basic functionality for free - but if you want the bells and whistles:

"Well, if you got a nickel, won't you put your money down?" -> to quote and artist who couldn't even play his own songs because he didn't own them.

I must say, not to be a downer, but I disagreed with quite a few things you were saying Earl. Maybe it was all the off-kilter analogies that seemed a tad stretched -- Not sure. Anyhow, that's a totally unfair criticism, because I don't have the time to tackle the big and daunting question of "why" I disagreed. And for that reason, I wasn't even going to comment.

But then I read your post @jschumann, and you totally flipped my perspective. I worked in a similar institution, and I always felt like a freeloader for the same reason -- profitting off all the hard work, but unable to contribute because my boss thought it was all free.

It would be really nice if there were an option to contribute which was more regimented than ad-hoc donation buttons. I don't know what this would be though. Everything that comes to mind seems mildly scammish, like a having a front door charging cover while the backdoor is wide open. At the very least there would need to be something semi-tangible that a paymens conferred -- Maybe just a star beside a "VIP"s username, which in THEORY could be pegged as giving that user an informal sort of high priority in issue queues, but in PRACTICE, everyone would be treated equally awesome (as is the case now).

Not the best suggestion though. Clearly I don't even know what the solution would be, but I feel your pain. I would've loved to have a simpler and official way of funneling organizational funds to a maintainer. But I would never want that to affect the experience of those who don't/can't pay this. Not sure how that would work.

Anyhow, just wanted to chime in! Despite my general uneasiness with the idea of a drupal market, I totally appreciate the article Earl.

But perhaps if I'd been allowed to throw a bit of money at the community, I wouldn't have felt as compelled to contribute back time and know-how... Maybe offering a route for payment would strain a much greater resource.

So what I'm suggesting is that maybe freeloader guilt is the real Drupal currency :)

I work as a developer in a large, publicly funded organization (a school board in Ontario).

I spend too much of my time trying to undo the sales and marketing work of vendors.

Typical vendors have a budget to meet with my boss's boss's boss and make him feel good about them and their product. They also charge ridiculous amounts for inferior software ('ridiculous' and 'inferior' by the standards of the Drupal community). These two things are not unrelated.

My work is hard, because it's hard to get people past the idea that you get what you pay for, and it's hard to get people to ignore sycophants.

Please build a Drupal store. Please build 25 of them. Please give me a place where I can send my boss's boss's boss to find quality software that comes with glossy brochures and the comforting security blanket of a price tag. Please use the revenue generated by this to fund not just more code, but more glossy brochures and some expensive dog-and-pony shows with little sandwiches.

I'm totally serious, and I'm begging you.

We can't 'donate' money to Drupal or Drupal developers. Donations are a great idea, but we're the government, and we're not allowed to give away public money.

We can't hire outside consultants, a shop like Development Seed, or even Andrew Berry (who has the advantage of being local) to provide Drupal 'services', because we have in-house people who do that work and a powerful union.

What we can do is buy software. That's something we do all the time. The catch is that it has to come in shrink-wrap. Preferably it also comes with two guys in nice suits, or at least some nice stock photography of an attractive woman with a headset and an ethnically diverse group of people clustered around a laptop in a conference room.

I know the idea is repugnant. I know the marketing techniques are transparent, tricksie and false. That's why I mock them. But the bottom line is that I can't change government's procurement processes or economic models.

So, please do what Drupal and the Drupal community do best: be flexible and adapt. Give me a way to work within the constraints I face to achieve goals we all share. That will be my contribution to the community, and by helping me, you'll be growing and strengthening our community.

Please do it to make my life, and the lives of those I serve, students and the public, better.

The community will go on, Drupal will continue to grow and improve, and more open software will find its way into more places.

How about this:

1) Paying a one-time fee yields a Key that allows access to the most current version of a module (including dev) in Drupal.org for the life of that version.
2) Previous versions (e.g. Webform 6.x-2.x) that no are longer receiving new features are free in every sense. If developers did not agree to 2) they would not be allowed to participate in 1).

Advantages?

- I think most users would be willing to contribute bug fixes because they know they will have access to the code.
- Modules in the early development stages or that are rapidly adding features would gain monetary support
- The release of older version would increase the user base and allow users to evaluate the base module without paying.

Maybe coming up with the right questions would help along this discussion...

For instance, what would be the important problems an App Store idea would try to solve?
- people working on modules need more money?
- modules aren't improving fast enough?
- it's hard to get support for modules?
- it's hard to determine which modules are good from those that aren't?

The power of drupal is the centralised hosting of projects at drupal.org. Centralized security, usage statistics and all.

I am quite confident that d.o admins won't allow this paid model to happen on d.o.

In my oppinion, this quite make the idea useless : if the modules/themes are not hosted on d.o, I don't trust them. So I won't pay for them.

Otoh I would (and have already) sponsorize development of modules.

It's the only sane way of having secure modules. And that's why joomla is unsecure.

There only seems to be talk of revenue streams for developers. While I think it's important to have developers support themselves without alienating the dev or user community, what about support and product liability.

How is support going to be given and what happens when a poorly written module hoses a site?

There only seems to be talk of revenue streams for developers. While I think it's important to have developers support themselves without alienating the dev or user community, what about support and product liability.

How is support going to be given and what happens when a poorly written module hoses a site?

Liability is a big concern of mine. From the GPLv2:

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

The keyword in there is FREE. Once you take that away, there is a liability. The question is who ultimately holds it - the developer or the appstore?

The above part of the GPL does ***not*** say the SOFTWARE is free, just that there is no fee for the LICENSE itself. Read more carefully please.

Many people lose sight of the fact that open-source is ultimately also driven by self-interest: the reason that any software is shared is because the person sharing it expects to see his software improved by other developers who share the same problem, but aren't competing in the same market.

The success of Drupal lies in the fact that this "common self-interest" is well organized around Drupal.org and the GPL. A Module Store would not really improve this, as it is redundant with services like Acquia Gardens, whose developers already get paid to write modules.

Most interesting problems revolve around reconciling multiple goals that at first appear to be in conflict with each other. For example, in the Drupal issue queue, we often find ourselves struggling with how to make some code both performant and maintainable. Or in some cases, performant, extensible, understandable, usable, configurable, and maintainable. When all these goals can be simultaneously achieved, there's nothing to discuss. We submit a patch, it gets committed, we celebrate the success, and move on to the next challenge. But when these goals come into conflict, it's a much longer conversation. Each person has a perspective to share, and when the collaboration process operates at its best, we come up with a solution that elegantly solves every goal. We don't always achieve that. But I think it's because of the joy we get from the times that we do, that most of us continue to put so much effort into the project, often without pay.

This conversation is no different, and I hope it turns into one of the joyful ones, where we're left with a deep understanding of the problem, and if we're lucky, some elegant solutions worth attempting.

Reading the comments here and on other similar blog posts, here's my current understanding of the situation:

  1. Those of us who enjoy spending time working on Drupal core and contrib want to do more of it, but we also want to have shelter, food, the latest computer games, etc.
  2. Drupal is enjoying a rapidly growing user base. A lot of these users want and would be willing to pay some money towards having Drupal core and contrib improve faster than it currently is. As catch said above, this has already been happening quite effectively in many ways. Lots of people, including myself and many of the people who've commented on this blog post, already get paid one way or another to spend time on things that end up on drupal.org and benefit the community. But there are some areas where it hasn't been effective, because while the collective value of accomplishing something might be larger than the cost, that collective value is too spread out, and no person or organization has stepped up to make it happen. This is a form of the tragedy of the commons, though it's not resulting in the depletion of the commons, just the inaction of improving it, so maybe we can think of it as an opportunity cost of the commons.
  3. A common way of solving an occurence of the tragedy of the commons is by removing it from the commons (i.e., enclosure or privatization). There is certainly economic logic in proprietary, pay-for-license software. That model has been very effective in fostering some excellent (and not so excellent) software that benefits millions of people, each of whom pay less than a millionth of the software's creation and maintenance costs.
  4. However, while enclosing or privatizing the commons solves some problems, it creates others. Most of us who choose to work on Drupal do it because it is GPL. We enjoy the freedoms it provides. Those freedoms foster collaboration that transcends institutional, national, and economic boundaries, and that is what defines us as a community. The added benefit of knowing that the product of our collective work is available to everyone in the world, with no economic requirement other than access to a computer, an internet connection, and time to get past Drupal's learning curve, is also deeply motivational and rewarding to many of us.

Now, although the term App Store is being thrown around the community currently, I don't think anyone is seriously suggesting that Drupal move away from being GPL, and certainly merlin isn't. I think merlin's main point is that software development and maintenance costs money, that there's nothing wrong with considering different ideas for how to fund it, including funding models where lots of users each pay a very small fraction of the total cost.

One thing I'm very pleased with is that the conversation has moved to this level. I remember when 5 years ago (and even 2 years ago), we were talking about how to convince companies hiring us to build custom modules or write patches to existing ones that they should release that work to drupal.org. That's not very long ago that companies were very nervous about giving something away for free that they paid for. But we were persistent in explaining to them how this actually costs them nothing, but brings them lots of benefits, and now it's more or less a non-issue. Sure, there's still some holdouts, but for the most part, that is now a solved issue. Which is why, as a community, we're moving on to the next challenge: how to fund the stuff that requires many funders to pool their money.

And, some cool ideas are being tried. Some companies sell licenses to a theme, the CSS and images of which are not bound by GPL, but the revenues of which help fund some great theming innovations that make their way back to GPL'd code. Some companies sell subscriptions to a networked service, like Mollom, and release the module that integrates the service with Drupal, and in the process, help improve Drupal core. There's Drupal Gardens (disclosure: I'm empoyed by Acquia to work on it), which will soon try out the business model of charging people for a SaaS version of Drupal 7, and if successful, could then fund many improvements in exactly the areas that are high cost, but small per-user value that only adds up with enough users. I expect 2011 to be a year in which all these models and many more are tried by multiple companies.

Also, as some comments above discussed, there's some ways in which we can probably help organize, foster, and pool donations. If you think about how many hundreds of thousands (or millions?) of hours have been collectively donated by individuals over the past decade, why not think that with good tools and social culture, a significant amount of money could be collected via donations?

Let's keep the conversation going, here, on other blog posts, at DrupalCon and local camps, and other venues.

I think merlin's main point is that software development and maintenance costs money, that there's nothing wrong with considering different ideas for how to fund it, including funding models where lots of users each pay a very small fraction of the total cost.

Totally accurate. This is a perfect summary and a money quote.

This is a really good summary of the conversation and the issues.

Also the current complexity involved in multiple people with limited budgets funding specific features or improvements is a much better way to frame the discussion.

That's a genuine issue, one I hit when I first started using Drupal and ran into issues with the forum module. Since all the issues we had were with comment, forum and taxonomy module, an appstore would have been singularly useless for that. The most likely outcome would have been a fork of the forum module to something more polished - in fact that happened a few times in 2005-7 and they were all unmitigated disasters.

The site having the issues did (and still does) have zero income apart from donations, so the option was putting about $200 in that could hopefully be combined with other efforts, which we started working on but fell down a bit on the combining with others front, or me learning how to code. In the end I went for the latter option, although still haven't fixed 90% of the original issues with forum module that we wanted, five years later.

There's been a lot of discussions about this over the years, but a lot of them happened before things like flattr were around, we might well have taken advantage of some kind of flatter feature at the time, and it wouldn't have completely altered the relationship to a point where we felt like consumers. I chose Drupal in large part because it never treats end-users as consumers, always as potential contributors, and while that is harder now than five years ago, there's no point setting something up that'd make it even worse.

I hope I don't need to mention this explicitly but none of the forum forks I'm talking about include Advanced Forum module 1. It didn't exist in 2005-7 (project was posted November 2007) 2. It's not a fork. I can't even remember the names of the projects I'm thinking about because they all disappeared within a year or so (and probably without upgrade or migration paths for the people unlucky enough to download them).

Earl, in reference to our twitter discussion, I don't agree with the person you mentioned who tweeted that all software should be free, and I see why you would disagree with that.

However, very few people have mentioned that concept, and no one, at least no one of importance to this discussion, has asked anyone to work for free. That said, I found our discussion valuable and hope that you see the alternative perspective on it. I'll ask you to take a link at the link I tweeted earlier about the #drupalappstore:

"Let's not destroy value of Drupal services by commoditizing modules. Social Capital > Financial Incentive http://ow.ly/3KG6H #drupalappstore"

Also, for reference to others, I am sharing our twitter discussion here as I think it provides some insight, or if nothing else show that we can disagree and still be respectful about it (note I just pasted from twitter so it's the conversation in reverse so to say):

@nowarninglabel I do (check the about page on angrydonuts) -- I can't remember when I last updated it though.

@nowarninglabel Most people aren't lucky enough to be employed by someone who is willing to pay to let me give work away.

@nowarninglabel No, the better question is: What happens to my contributions if my funding disappears?

@nowarninglabel Oh, so now I have to be a developer AND a marketer to be able to contribute significantly?

@nowarninglabel That discourages contribution, not encourages it.

@nowarninglabel Fundamentally most people don't care how I get compensated after they've gotten my work. Except other contributors.

@nowarninglabel No, it's saying "I don't care how you get compensated, I'm not the one compensating you, give me your work for free."

@merlinofchaos Some surprises coming your way =)

@merlinofchaos Also, do you have an Amazon wish list? (peripherary to our discussion I know, but I try to ask all module devs I love)

@merlinofchaos I made it written into my contract with my new employer Kiva that they had to give me time to contribute back to community

@merlinofchaos That is why I think self-promotion is important. The community knows and respects you, and would step forward to pay u (imo)

@merlinofchaos I never said you have to do anything to be a contributor. I said one should take that approach for compensation.

@merlinofchaos Maybe the better approach is, why do you currently contribute? What would lead 2 contributing more (but already u r at max?)

@merlinofchaos Through self-promotion, finding sponsoring positions, running donation campaigns and reverse bounties, etc. + social capital

@merlinofchaos Well as someone who contributes, but not nearly to your level, I'd say it's our own responsibility 2 find our funding sources

@merlinofchaos I completely disagree. If there was no value proposition for you, wouldn't be doing it. Free = No money, != No compensation

@merlinofchaos Earl it's saying get compensated for services not contributoins. Like royalties for your book, or tip jar for coding

Great post! I've often wondered if many people in the community have thought about this issue. It's refreshing to read your perspective.

I agree that contrib module maintainers should be compensated and supported to do what they do best: architecture, implement and support their code. The problem is achieving that without breaking the open source contributing spirit and community sharing ideology and without converting the developers to code sellers taxing them with extra marketing and liability responsibilities and workload.

The only way I can see this working successfully is through a centralised Module Maintainers Fund which is endorsed by drupal.org, supported by the community, and run by rotating or elected community volunteers.

I am confident that sources of funds will be found through different channels such as subscriptions, donations, endorsements etc. Distribution of funds can follow specific policies, community voting, usage statistics, issue queue lengths, nominations etc. Our community is one of the best organised software communities and the logistics of such an effort will be solved.

Drupal Association already successfully funds D.O. infrastructure, core development, events, promotions etc. An official Module Maintainers Fund can successfully fund module development.

It is an interesting discussion to me, as a relative newcomer to Drupal in the past year, with years of html/css and front end design under my belt along with JS/PHP/MYSQL experience. I do think the commercial status of Joomla extensions (similar to Drupal Modules) was a huge turn-off. Agree with the point earlier, putting a price on crucial Drupal modules not in core will serve to really deter individuals, freelancers, agencies and businesses from experimenting with Drupal in the first place. I think a model of funding development of contributed modules is a fair request, especially from the author of this post who has written and donated modules used by half-a-million websites or more.

Donations I can not see doing the trick alone no matter. Flattr is worth a try -- and I think models to bring finance into open source projects are great, and actually a solid model of distribution could be a very successful and unique product which I hope someone will ship soon. But looking at funding for smaller modules is a difficult thing to imagine being successful without an outright charge for them. It is interesting to me to look at the Acquia model. I know Dries is the CTO, so this is a unique case. But they have raised, according to Tech Crunch, 23.5 Million U.S.D in three series of venture funding over the last three years. They are also evangelizing for drupal in the enterprise, promoting Drupal Gardens, providing hosting, and using capital to fund both drupal core and some contributed modules (media for one). Of course ultimately their vision may be to port the contrib modules into core in D8 or further down the line. One question is the following: If Drupal experiences a real breakthrough this year, as many including CNN are predicting, will there be room for Drupal developers to team up and form companies that will be able to capitalize off of both venture funding and drupal product sales, support, and hosting? Another question that I can't help but ask is the following: Can enterprise-grade, expertly customized distributions become a major source of revenue for Drupal developers under the terms of the GPL?

It seems that creating a market for Drupal products is in fact a far better solution than commercializing the development of Drupal Modules outright. Perhaps initially it will be harder work. It is harder to think of and innovate a new system of distributing drupal, that can both improve Drupal and justly reward people contributing greatly to Drupal with financial success. It is easy to say I have these great modules, but I want to get paid, so let me sell them! There is nothing wrong with this perspective. But in my mind if this happens Drupal will cease to be the platform and development tool it is. I have read this article and all I have seen about this topic on Drupal.org and I honestly cannot see how charging for important modules will help Drupal in the long run. But I certainly hope we figure out a way to provide incentive to the highly-skilled people out there who give us great modules -- they have mouths to feed, here as in the open source community in general we have to figure this one out. I say let's innovate!

I personally won't ever charge for my contributions. For me, it'll take all the fun and enjoyment out of it.

This sort of model is something I am familiar with actually. I did a project that used Concrete5 CMS, which has an app store that you must purchase anything useful from. It was selected because of it's ease of editing content, but the addons and theme the client wanted to use cost over $200. I don't see this being a good step for Drupal projects, as it will lead to the destruction of the mindset of making Drupal better just because we want it to be. Once money becomes an object or hurdle to get development done on a contributed project, we will lose that.

Concrete5 was developed by Advertisers and Marketers, as far as I know Drupal was developed by Software Developers. I think we should set out to make ourselves to be a bit different than that. I understand that you have to feed your family, but nobody was looking to get rich off of contributing in the first place were they, so why all of the sudden talk about money? There are many ways you can get paid for continued development on your contributed projects. Someone may want to sponsor specific features, a larger company might hire you or buy your smaller company out to support the project you made, and you can even put up a link for donations on the project page if you really are in need of money.

This topic may be a good discussion starter, but I don't know if it is any sort of constructive conversation for the community. We should be talking more about making Drupal better, and how to gain more usage in more demographics. Most people who are developing for Drupal are doing just fine from what I can tell. Why try to fix it if it isn't broken? If anything, perhaps integrate a donations system into Drupal.org for developers to easily get donations, but restricting access to projects based on a fee is not open source to me. Making a model like an App Store will probably lead to the pirating of said "paid projects", which could lead to malicious code and who knows what else that the current model helps avoid. Besides, a GPL v2+ App Store is kind of an oxymoron isn't it?

Peace,

Jason
Arbor Web Development

I think an app store would lead to fragmentation and ultimately hurt the Drupal experience. Although I do like the idea of a 3rd party app store for drupal gardens, even that could lead to fragmentation as well.

I think crowd sourcing makes some sense if there was a good central website for raising funds (maybe there is already?). People like Earl Miles with a ton of street cred would raise a lot of money, people no one has heard of wouldn't raise much.

That doesn't really help modules they've already built though. And so a lot of big name module contributors make some money via book writing which isn't a bad idea. Although they would probably tell you the margins aren't that great.

I think your Earl Miles and etc could make money easily selling priority support, etc. - I know he doesn't like that as much but an app store would just be riddled with problems. The main one is that once its sold someone can turn around and share it for free so a secondary market would inevitably develop where a site owner pays for modules and publishes them on their site for free to get traffic and maybe ad revenue.

Does this discussion have anything to do with Views module? Is it going to a paid business model? Cause Drupal 7 is useless without Views or something like it and I have web sites to build.

Why not build on the strength of open source and go with a Contribute Cash system? There are a lot of people who don't have time or expertise to contribute documentation, testing, or code and who could instead or also contribute cash. These are all different forms of capital. This has a different meaning than donate money. We don't ask people to donate code, we ask them to contribute.

Also not to mention that contribute is more intellectually honest than donate, which implies a gift with nothing expected in return, and buy which implies ownership or the right to use.

I wrote this "article" a short while back as a way to work out my thoughts but didn't know what I was going to do with it until I read the above post & comments. It is a bit long but very much on topic I think and I hope you will read it through ...

"THE BOX AND THE SOFTWARE"
(or "Why the GPL's core philosphy is FUBAR!")

Because of a recent software project proposal I have been contemplating the nature of free (as in speech) software and the variety of licensing alternatives. For a while I pondered this matter along the typically argued lines of "freedoms for the users" versus "freedoms for the authors" but such thinking inevitably ends in a dead-end of mutally exclusive and recursive rhetorics which are more philosophy and politics than logic or fact.

My contemplation has however brought into focus for me something that has been more than a little elusive: the core nature of this dichotomy of freedoms which lies within all of the various mutations for "commercial" and "open source" (by whatever names you wish to call them) software licensing. I have come to realize that the nature of each licensing approach is driven by the core beliefs of the specific communities that support each license, and that the differences between each license lies in the individual motivations of the members of each community.

I believe that most people who are involved in a particular open source license system are motivated by certain things they wish to protect and so they select and support the license that grants those protections dear to their individual hearts. Any combination of these or other protections may motivate a programmer to participate in a particular open source system:

  • The simplest agenda may be that of those supporters who contribute code to a project not because of the specific license but just because they like the project itself and wish to "protect" (ensure) its future success. An excellent example of this is the Drupal community with many (but not all) members who are passionate about the platform but who seldom get involved in licensing issues as a general rule.

Others may have less honest agendas:

  • Those who support open source licenses (any flavor) only because this means protection against having to pay for the software they want. Such people may be willing (when able) contributors either in money or sourcecode but more likely they are the chronic non-contributors who just want something for nothing.
  • Those with ulterior motives which may be for good or ill. An example of the latter would be the secret motives that were revealed by the now infamous leaked Halloween Documents where involvement in the open source community was strategized not for benefit of the community but for manipulation and disruption of the open source concepts in order to protect private market share.

For most however I believe the motivations are straight forward ones like:

  • Some contributors may wish to protect their personal credits by ensuring attribution not be lost.
  • Some contributors may wish to protect the integrity of their work by preventing unwanted changes.
  • Some contributors may wish to protect knowledge by ensuring access to the implementation details (source code).
  • Some contributors may wish to protect legacy systems by preventing software "dust shelving" by a competitor.
  • Some contributors may wish to protect their financial issues, ensuring that they will be compensated for their code.

Finally, there are those who just jump on the bandwagon without awareness or concern for what a given license means ... call it being "naive" or being "carefree" but these contributors sometimes regret their actions later when the things they do come to care about are not protected because they were not careful in their choice of licenses.

Whatever the motivation(s) there is surely a license variant out there to help satisfy each contributor's desires, and if not ... someone will invent one. Such an invention was created by Richard Stallman of the Free Software Foundation -- the originator and defacto leader of the GNU & GPL communities. He has offered numerous writings on his "philosophy" of free software and the open source world and published them on the FSF/GNU websites as the official philosophy behind what they do. An active and vocal advocate for the GPL family of licenses for many years, Stallman's vision of the "copyleft" system he invented is shared by many outspoken GPL advocates sharing these philosophies.

The long term agenda of the GPL seems to be directly linked to the philosophy of Richard Stall in much the same way as the agenda of the Wikileaks project is linked to the philosophy of Julian Assange and the agenda of the Wikipedia project is linked to the philosophy of Jimmy Wales. It is really no surprise that founders of powerful ideas like these 3 projects continue to shape and influence the long term policies and agendas long after original inception. So given the rare opportunity to peek into the mind of the GPL's creator I expected to find solid foundations for this conceptual invention.

Instead I found that the GPL is built on horribly flawed concepts and misconceptions espoused in Stallman's official philosophy.

GPL advocates like to talk a lot about "freedom for the users" and the wrongness of "intellectual property". They also are quick to disavow that their software licenses are "socialistic" yet the fact is that the core motivation behind it, as described by Richard Stallman, is definitively socialistic in nature. Stallman writes at length about "Why Software Should Not Have Owners" apparently oblivious that public property ownership (with its intrinsic prevention of private property ownership for the same item) is the heart of all communistic & socialistic systems. In this particular philosophy article Stallman attempts to deflect accusations of socialism by attempting to liken American copying prohibitions (copyrights) to former Soviet copying prohibitions (censorship):

"... All four practices resemble those used in the former Soviet Union, where every copying machine had a guard to prevent forbidden copying, and where individuals had to copy information secretly and pass it from hand to hand as samizdat. There is of course a difference: the motive for information control in the Soviet Union was political; in the US the motive is profit. But it is the actions that affect us, not the motive. Any attempt to block the sharing of information, no matter why, leads to the same methods and the same harshness."

He says that there is a single difference but in fact there are two ... in the USA copy restrictions are put on intellectual property by the creator of the property. In the former USSR the copy restrictions were placed on intellectual property that never belonged to the government in the first place. Let that sink in for a minute ... do you see the difference? Copyrights protect the author by allowing him or her to decree who does and who does not have access to their work/labor/effort/creation. Censorship on the other hand removes the rights of the author to grant access to the users who they may wish to reach with their work. This is a major difference that Stallman blithely glosses over.

If Stallman is ignoring the validity of private property ownership in his copyright versus censorship argument is he still correct when he says; "Any attempt to block the sharing of information, no matter why, leads to the same methods and the same harshness."? The answer is an emphatic NO! Richard Stallman is WRONG! The methods of enforcement of copyright laws, when properly implemented, are neither the same as censorship nor are they unduely harsh. If trespass on another's property is accidental and the trespasser agrees to cease tresspass and make good for any damages done, the penalty should be nothing but gratitude for compliance. If trespass is intentional and/or destructive then penalties will and should be applied appropriate to the severity of damage done and the frequency of the offense. Of course what is always amazing in this analysis of the GPL is that the GPL itself relies 100% on the same system and methods that Stallman attributes with "the same harshness".

Stallman is adamant that granting such rights to an author is "ethical pollution" and uses the following argument to support his position where he speaks on the concept of ownership of property:

"This is true for any kind of material object—whether or not it has an owner does not directly affect what it is, or what you can do with it if you acquire it. But if a program has an owner, this very much affects what it is, and what you can do with a copy if you buy one. The difference is not just a matter of money. The system of owners of software encourages software owners to produce something—but not what society really needs. And it causes intangible ethical pollution that affects us all."

The flaw in this argument is another sin of omission where he uses "reductio ad absurdum" logic approaching that of Zeno's Paradoxes. Like Zeno, who ignored the nature of time to disprove motion, Stallman ignores an inescapable part of the creative process: EFFORT.

When Stallman attempts to say that making a copy of intangible software is different than making a copy of tangible wood he completely bypasses the EFFORT invested in the compared items. With the carved box it is impossible to make an exact copy without investing a similar amount in materials and labor as did the original box maker. Software on the other hand is much easier to copy - practically cost free - but only because such a copying process can carelessly ignore the invested EFFORT required to create the original.

An ornate carved box requires wood, nails, hinges, screws, and varnish and it also required tools such as saws, hammers, screwdrivers, carving blades, sandpaper and paintbrushes. Notice that some of these tools the carpenter cannot make for himself unless he is also a skilled metalsmith.

Creating software at the very least requires tools which most people cannot make for themselves ... tools such as a personal computer and various programming tools like compilers and graphics editors. What is more is that in both cases, the box and the software, the original creator must somehow have aquired knowledge of how to use their tools to get the desired results.

Another similarity between the original box and the original software is the EFFORT invested in them. Each requires EFFORT in designing it, shaping its parts, assembling everything, testing the assembly and then decorating the finished product. All of these steps requiring the aforementioned materials, tools and knowledge.

Finally, the original creator of each of these products must have added two intangibles to the process. The first is the intangible that we often call "talent" which could be a natural ability but more likely is a learned skill slowly built up from years of experience and training. Without talent the quality of the product will suffer. The second is a little something unique to the product, something of the creator's selves which we often call creativity, that intangible yet vital component of each product's design. We cannot measure these things yet we know they are required to create anything of real worth and so have worth of their own that should be recognized as part of the finished product.

Perhaps some day we will have Star Trek like "replicators" that will allow all of us to have an original Mona Lisa and our own set of the Royal Crown Jewels. Until that day there is a difference in technology that does allow Stallman to be right -- copying software is not the same as copying a physical object -- but only if you are willing to spit on the original creator's EFFORT with contempt!

Something to consider is that if Drupal didn't use the model that it IS using today, it never would have become what it became. I've played around with WordPress a bit for simple sites and one of the biggest failings that I stumbled over was that every time I found the perfect plugin for the site I was building it would cost me. I broke down and paid $50 for a reservation plugin for my wife's site, and although it does the job, it's not all that amazing. Further, when I asked the designer if he could provide a tweak to a feature (using a different paypal account for separate events), he created a post to all of the people who bought it asking for donations totaling AT LEAST $150 for him to start working on it...and once it was ready he would ONLY make it available to those that donated. In the Drupal community if you point out how a module could be improved, people are eager to try to implement that because it makes the tool better for everyone.

There is soooooooooo much money out there, and soooooo many ways to get it that you don't have to hold code for ransom to get it. If you write good code you build a name. Speaking engagements start coming, book deals happen, and people line up to have someone with your caliber build their site, or consult for them... in short, opportunities show up more frequently.

There are some people that do make a lot by giving away the farm. If you like fiction, check out podiobooks.com, where people like Scott Sigler, and J. C. Hutchins freely gave away their writing in the form of podcasts (the 7th Son series is my favorite), then ended up with book deals and movie deals using the same stories that hundreds of thousands of people have already listened to.

There has been many many self-help and business books out there that preach "Help yourself by helping others". I believe the Drupal community works well by doing EXACTLY that, and if the model changed I fear the Community would suffer and Drupal would suffer while a small percentage of developers attempts to reap the benefits.

Jeremy

I've got a project in mind for Drupal, and want to start with Drupal 7. It's not something that I'll make money off of, it's a public service for community building.

Basically where to go to enjoy something - almost like meetup but organized differently.

There's modules I'd like to have ported to Drupal 7, and I'd be happy to donate to jump-start the development. There's no good way to donate, and there's no good way for developers to say, hey - if I have a donation of $XXX, I'd totally set aside the time to finish this.

I don't -want- developers to work for free. I continually find it amazing that people are so gracious with their time and creations. Thanks just doesn't seem like enough.

B

- Some modules maintainers publish a link to the paypal account on the module page (that way I've already been able to contribute some cash). But most maintainers don't.

By the way I really prefer "contributing cash" to "donating".

- It's the first time I read about flattr, good to know this exists, but there's not much from drupal there for the moment...

- Chip in: I like this method because there is an actual estimate of the amount it'd take to get the new feature you need.

An example of a feature almost everybody would like to have in drupal.org is another way to subscribe to the issues, discussed in this old thread: http://drupal.org/node/34496
Fund raising by itself (or is it because it is done with an external website) proves to be very slow: http://3281d.com/2009/03/27/death-to-subscribe-comments
I don't understand why, it'd take just 449 more drupal users which contribute $10 to finally get this done. Compared to how many we are in this community, it's a drop!

Either we're all stingy or on the budget... Or the tools to raise funds are not easy enough to use and not visible enough.

So what about new tools in drupal.org? (And the question there is who would actually have enough skills and time to develop these tools and who'd pay for them?)

I agree if there was a section in drupal.org to contribute cash I would happilly contribute proportionnally to the income I make when I use Drupal - even more happilly I there was a system as in flattr to make my contribution reach my needs in feature requests, issues, etc. more directly. And / or if there was a system like in chip in to actually know how much is needed to get things done, and how much money has been raised / how much is left to be raised.

And what about giving the module maintainers the ability to inform the users of the estimated time / cost of a feature via tags / filters (Issue for module foo - assigned to X - estimated time TBD 1 week - estimated cost $XXX // those would be optional fields - not that any issue needs to be estimated, but some issues are old and takes much time and effort and I'm pretty sure some funding may help). That way, in addition to a contribute button, it would be easier to act.

About the centralised theory of redistribution there are already some algorithms out there able to give weight to drupal users: http://certifiedtorock.com so it's not totally incredible to base community cash contributions repartition on module usage statistics, number of issues, etc. The only risk is that small modules won't get a chance to evolve while widely used modules would perhaps raise too much, I don't know.

Add new comment