Search

Many extensions are currently developed in someone’s spare time or because their functionality is desired by someone’s client and this client is paying for it. In my opinion, the last is more desirable since the author of the extension will get some compensation immediately. Developers benefit from extensions developed by others, but of course not everyone is able to contribute to the development of new extensions. Moreover, developers can not choose which extensions others are developing and have to wait for new functionality or start developing this by themselves if they can.

I think that donations might provide additional incentives to develop extensions (e.g. an eCommerce extension). These could be paid by commercial users, voluntarily or not, before or after development, up to a certain total amount, per website/project, etc.

On the other side of the coin, people might be unwilling to pay for usage of an extension. If too many developers ask people to pay for their extensions, people might look for another CMS solution to use.

I think payment is only an option for commercial extensions, where the user of the extension will earn money from their end-users. Do you think this is necessary?

Well I am willing to commission peeps for extension work when the work comes in. But how do you price that? Is it for that particular job? I personally would be a little disappointed if something I paid for was then released for free weeks later.

I am convinced that extensions should either be kept secret or released free.

  • If someone sells extension development to a client, he (or probably the client) may decide to release it or not.
  • The small extensions that I published were created in spare time, that’s true. But they will help me to create better implementations of Symphony, and I hope they will help others as well.
  • At the moment I am developing another, much bigger extension, and I am sure that I can sell the implementation to at least a handful of clients once it is finished. I plan to release it under the MIT license as well. If other Symphony developers can also write a bill for implementing my extension, why not? Everyone should make a living.

That’s simply my understanding of community, which I learned here in this forum.

I agree with Michael about contributing to the community, but what about when you do not have the clients to sell the extension to? It is risky to start developing an extension without having a client willing to buy. The initial hurdle might be to high to start development.

Furthermore, what about people who can not develop extensions for themselves? I feel that they need to get the opportunity to get their hands on the extension they need without paying the full hourly development price for it (especially when not for commercial use). Some seeding money should help the development of the extension, but it should be offered free afterwards. Or perhaps with a small monetary fee going to the initial investor and developer up to a certain amount.

If someone needs a specific extension and wants to keep it for themselves, they would probably pay more. This would not be in the interest of the community, however.

Probably the best option is to find a client that needs the extension that you would like to build.

One thought on this front would be to provide a system to allow for the crowd-sourcing of funds for the production of community required extensions. This would work a little like donations, but rather than being after the event for an existing extension, users would propose extensions and allow other members of the community to contribute to their development.

Such an approach would enable commercial development around the requirements of everyone, reversing the current model of individual contributions - from the community and from business - to our code base.

I’d be interested in hearing your ideas on this front.

@joseph I think that could work; the only ‘problem’ might be that the most needed extensions will hopefully (for the sake of adoption etc.) be the ones that are made available for free. This seems to be the way things go in other communities: if it’s needed enough, someone will come up with a free solution.

I think your idea might work better with more focused or commercially-driven needs (eg ecommerce). Basically you’re talking about ‘voting’ for extension development by putting $ into an escrow. Once the escrow is big enough for an extension dev to go for, it gets made. It seems like it might prevent some collaboration; if someone else is getting paid to make it, not as motivating to contribute.

I am a bit concerned about the whole money-thing.

Keeping extensions closed-source will only be counterproductive for such a young community as nobody else (being unpaid) will contribute in existing extensions. Also, developers will be unable to use GitHub since its only free for open source projects.

Additionally, giving extensions away for free after your project is done won’t convince your client to pay for it.

Thus I think paid closed-source extensions should be built seperately from this community (get yourself a PHP-dev, learn it, anything).

@ashooner this is an interesting thought but I’m not sure I understand why the financing of an extension would prevent others from contributing. Can you elaborate?

@Phoque what I’m exploring is related to Open Source extensions; nothing produced in this arena should be closed source.

I’d also like to stand up for commercial development in general. As an agency we - Airlock - are 100% committed to Open Source and regularilaly release our work to the community. We also fund the development of a number of community projects and ‘sell’ the benefit of the approach to our clients on a regular basis. In summary then, I fundamentally disagree with the position that commerciality and Open Source are anathema.

Bringing compensation into the picture introduces another level of responsibility; Not only do I not want to contribute if I’m not get compensated, but if someone else is, my contributions may interfere with the payer/developer relationship (for better or worse).

At one point, someone had a donation system set up. People who used an existing extension commercially had the opportunity to compensate the owner/creator. If the owner/creator has had the extension made by a 3rd party, then so be it. If this compensation was made public, it could encourage more people to share commercial extensions.

Basically the free as in beer approach. That still doesn’t handle what happens when the community wants to add to/improve/fork the extenstion. Then who gets paid?

I’d argue that the ability to accept donations against extensions creates an incentive to contribute; the best extensions receive the most donations. I’m not sure that the same applies to the escrow model; this is an interesting discussion.

Regarding the forking of individual works, good question! Perhaps this could be passed to the user donating - as in ‘Extension x is based on extension y. Do you want to donate to both developers?’.

I think the donation approach would be good for getting an extension going that otherwise wouldn’t be developed; the original devs get the donated seed money. After that (some initial release) it belongs to the community, and follows normal OSS/github dev path. That would solve the issue of people committing to an extension in return for the seed money, and who gets paid.

@ashooner: That approach makes sense to me. This might open a whole new can of worm, but perhaps donations after the initial development amount could be put into a pool that can directed towards the development of other extensions.

My approach to this problem thus far is that if someone wants a specific extension now they can pay for development but that the final extension will be released as open-source. That way the community get the benefits of a faster development cycle and the extension is stronger overall for (hopefully) being actively used and improved by others in the community.

Well if your developing an extension for yourself, does that require funding? And what is the time-frame between someone paying for an extension, and then that extension being released open source?

If someone has asked for an extension that the developer had not already been working on, then should that need to be funded?

Personally I would think twice about commissioning anyone to create an extension if they are willing to take money on something they had already developed in essence, and then release it open source almost immediately after being invoiced.

For instance, how do those who fund extensions know where in the development stage the extension is at? For all we know the extension could be complete and the taking of money for funding could well be unfair as it may not have needed to be funded.

For instance, how do those who fund extensions know where in the development stage the extension is at? For all we know the extension could be complete and the taking of money for funding could well be unfair as it may not have needed to be funded.

I’m not sure if I agree with this. As long as the developer who has been funded actually did the work, then they deserve the reward. I think we’re looking for incentive to create extensions. Web startups usually start with no funding and try to get it later. I don’t see why a developer of extensions can’t follow the same model. It was essentially done that way in the Symphony 1 forum where there was an option for donations.

If someone wants to pay for an extension and not have it open sourced, that sounds fair to me if they specifically paid to have it developed. If the developer created it as part of a general job to make his life easier, and the developer owns the work, then they can do with it as they please.

I would think twice about commissioning anyone to create an extension if they are willing to take money on something they had already developed in essence, and then release it open source almost immediately after being invoiced.

The idea is that you have a commercial need for an extension that you do not otherwise have the capability to write or have access to. While you’re not buying the license (it is OSS) you are determining the functionality of the extension, since you would be conducting the dev. just as you would any professional sub-contracting.

The underlying rational for this is that the propriety you lose by the ext. being OSS is made up for in the value you (any your clients) gain by strengthening the position of Symphony as an open source solution.

If you don’t see that as an equitable or worthwhile tradeoff, then it’s understandable that you wouldn’t want to give the extension away.

Your missing the point.

I can create something that is visually rich, top css3 used, fluid, flexible blah blah layouts etc….

Now if I have developed that, and then someone asks me to develop it, not know that I already have it done. Is it fair for me to then attach a “funding” cost to it? Even though it don’t need developing any further? I can license it out for people to use, that would be more appropriate, but I shouldn’t really be looking to get funding for something that I have already developed.

The fact that nobody knows who or what they have developed, when they developed it, and if it needs funding or not. So basically this area is far too grey.

I would think twice about commissioning anyone to create an extension if they are willing to take money on something they had already developed in essence

Really? I have many extension ideas half-developed. If someone wants to pay me to continue working on them until completion that’s fine by me, regardless of whether I start from scratch or use something that already exists.

What if you commissioned functionality that was very similar, but not identical, to an existing extension? It’s entirely acceptable for the developer you are employing to take the existing extension and customise it for your requirements.

I’d like to think of the client paying for my time to reach a solution, rather than paying for the end solution itself.

If you take things a step further, consider the following scenario. If I build a website for Client A but I need some custom functionality. I can’t do it myself so I commission Developer to build it for me. I have been commissioned by Client A to build their site, and the contract may well stipulate that the copyright/IP of the end product remains in their hands. This is not uncommon. This means that if Client B needs the same functionality a few months down the line, I cannot simply copy what I made for Client A and charge again — I don’t have the rights to do so.

Therefore there is support for open-sourcing extensions in this way since if the functionality is generic (and you can see yourself using it on many sites) it is in your own best interest to develop it as a standalone open-source piece that you can re-use across all clients.

Of course, these things should always be stated up-front before development begins and any money changes hands, and depend entirely on your own contractual obligations

Now if I have developed that, and then someone asks me to develop it, not know that I already have it done. Is it fair for me to then attach a “funding” cost to it? Even though it don’t need developing any further? I can license it out for people to use, that would be more appropriate, but I shouldn’t really be looking to get funding for something that I have already developed.

You’ve lost me.

Got it, we’re talking about 2 different scenarios. Yes what you’re describing is way too tricky.

Basically what I am saying is, if someone is developing an extension that is perhaps 80% complete, I would not want to fund that.

I would much prefer to pay for a commercial license for it. That way, I own it, or whoever pays for the license owns it, and can do what they like with it commercially.

I would not want to fund something that is going to be available for free, because there is no knowing at what stage they are at in the development. When I buy something I want to be able to own it,

Does that make sense?

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details