Introducing BountySource for funded development

Tags: #<Tag:0x00007faed63baa10>

All,

While in the early days of openHAB every user was also a developer, the number of non-tech users steadily grew over time. This led us to the situation, where the number of ideas and feature requests clearly outweighs the capacity of the openHAB developer community.

Having more ideas than it is possible to implement brings up the question of prioritisation. For users that are developers, this is rather easy as they decide for themselves what is most important for them and then come up with a code contribution - this is how the openHAB project evolved nicely through all the years.

For all non-developers this can be rather frustrating, though: They wish to have a small fix, enhancement or new feature, everyone agrees that it would be worthwhile, but they cannot implement it themselves and no developers seems to see it as a high prio. So what to do?

I have seen more and more people offering bounties in such situations and I would like to see this adopted as an accepted process for such situations. I have contemplated in depth about this step as almost all contributions to openHAB are done unpaid and voluntarily by people in their spare time and we definitely must not jeopardise this by putting anybody off. Having some people being paid for certain work, while others do a similar feature for free, might feel unfair. Also, most features are not the sole work of a single person, but considering discussion and review processes, many people are involved before a PR is merged, so paying the bounty to the initial contributor only would not be the correct attribution.

Nonetheless, I believe that bounties can prove to be a nice mechanism for choosing priorities. Instead of "+1"ing issues or asking for the status every week, people have the chance to post a bounty in order to accelerate an issue that is important to them - if it is important to many users, there can be a crowd funding of features.

A nice platform to achieve this is BountySource as it integrates with Github and deals with all the financial aspects. It also encourages bounty hunters to re-invest earned bounties on other issues instead of having them paid out - used this way, it would really help to use it as a means of prioritisation and the above mentioned “unfair” situations could be avoided if at least a part of the bounty is put back into the project.
Please note that BountySource itself is run by a few volunteers and as such the platform has a couple of bugs, issues and instabilities from time to time (I e.g. struggled for many months with the Github integration so that bounties are automatically mentioned on issues). It nonetheless looks to me as the best service in this field and a few hundred other projects are using it actively as well.

I have enabled BountySource on all relevant openHAB repositories. You will also find issues with a bounty being labelled accordingly. Browsing through BountySource, you will see that there is e.g. a very generous bounty of $500 on the InsteonPLM support for openHAB 2. It is possible to use bounties on other popular repos, such as the openHABian, the Z-Wave binding, etc. So if a feature is really important for you, give it a try and see if it attracts a developer who helps you getting there!

Let’s try this out together and see how it works out. If you are interested in more details about BountySource, I would recommend to read their informative FAQs.

Best regards,
Kai

Edit: Removed docs as an example and weakened the formulation to actively use it.

20 Likes

Interesting concept… remains to be seen how ‘money’ changes the environment; e.g. whether developers only pick the stuff that makes money or keep contributing for free, or contributing at all…

It also introduces the ‘money talks’ concept, meaning: the deepest pockets determine the direction of the ‘project’. Like anything in life, there are two sides… it will be interesting to watch…

I am sitting on the fence, as I am not a developer, hence, can not really envision what this means; as a user, I can see the benefit of getting something, in particular in the binding space… the main benefit I see is one for the community, where all benefit from a development – as in free software stays free.

3 Likes

Yepp, let’s get paid for forum support, too.

I think this is the day this project changed to the bad. I’m thinking about cancelling my foundation membership.
The reasons are already mentioned clearly by @Max_G, thanks for that.

1 Like

Oops… didn’t mean to peeve anyone off :slight_smile:
Could you elaborate (for the benefit of the discussion) why this kills it for you?
As I mentioned, I do not have the developer view to express a sound view on this.

1 Like

You didn’t, you just expressed in a clear view what I feel: if money makes this project go around, I’m out.

That is my main concern, too.

Well, certainly interesting…and a different approach. Not sure that anyone can predict the future, but it certainly will change the dynamic quite a bit and I am confident that this was factored into the decision and considered as tolerable or maybe even desirable.
This new opportunity means that in the end, the onus lies now fully on the developers. With all the infrastructure in place, they have the power and the duty to make the decision between working for bounties and ignoring bounties and work on that they want (and of course the two may intersect). I would be interested to here, how they feel about this: that suddenly the whole decision about whether this remains a volunteer driven activity or whether it becomes pay-to-play remains on the developers only. From the user side, seemingly too many of us have already spoken in favor of bounties (and no one spoke out against them when they were offered), in fact so many, that this scheme has now been established. Maybe the days of volunteer driven open-source are over…game theory would predict one possible outcome where we all can win, but it is not very probable, there are many more possible outcomes, where all of us will act rather in favour of personal short term interest and gains and sacrificing long term issues. But then, who knows whether this is a good or a bad thing in the end, we only can be sure that it will be different.
Anyway, I will be very curiously watching how the project will change. It will be interesting, things are always getting much more interesting once money comes into play, hopefully it will be good too.

3 Likes

This.

I truly believe we can only benefit from tools like Bountysource. I don’t think the developers will give up “free” contributions as easily as @sihui just expressed.
I won’t stop making my stuff (that may be useful for the community) just because other developer got paid for something. I’m also pretty sure that most contributors won’t be discouraged because of it as well.
Granted, I wouldn’t be that much involved in open source if I had no salary and some time to spend around technology :wink:

At the end of the day we’re all making this happen because we’re driven by the community.
We all want to make openHAB better, easier to use, well documented piece of technology. We want to have a convenient tool to automate our blinds, cat feeders and lights. It already took a tremendous amount of men-hours to make it happen.
If there’s an opportunity to motivate more people to achieve a certain goal / implement a feature / fix a bug - why not?

If someone’s willing to pay for a feature - it’s ok! This is still an open source contribution and will push the project forward. It won’t be a proprietary code, everyone will have access to it afterwards and possibly reuse it in further goals.
I think this is a massive adventage over commercial solutions.

Cheers! :champagne:

11 Likes

This sounds like you are expecting another fork of the project???

I’m not. What I was meaning to say is that the features that have been crowdfunded will land in the same repository and further features (e.g. bindings, improvements etc) will benefit from them just like the other contributions. The source is still there for free.
By paying for a certain feature you’re motivating someone who has the time and expertise to code something.
Then it gets merged to the (same) repository and other devs can use that code same way they do with previous work.

Does it make sense?

2 Likes

If it really would go that way … maybe. But I’m in doubt!

I wouldn’t worry about a change in direction because:

i) Most of the development activity goes into OH2 addons and ESH and that’s provided for free from the contributors
ii) The use of BountySource is up to the end-users and the developers (it cannot be prohibited)
iii) The first OH bounty was posted 3 years ago and remained open/unclaimed for 2 years
iv) The only change that this post brings is the integration of github OH repos with BountySource and the reminder from @Kai that everyone can use it.

This is a good thing. Personally, I won’t be using Bounties but I support the idea.

I don’t believe that there will be a shift in the way that contributors progress the projects.

6 Likes

Thanks @kubawolanin. Good to hear that. We all come with a bias and mine
quite obviously I am afraid is a slightly cynical one.
I am convinced, just to state the obvious, that the outcome will totally
depend on our collective behavior. If we as user start throwing a lot of
money at my favorite feature, just because I want it and I can do so, and
enough developers are tempted to pick it up…we have a pay to play system
as those who work for free will have a hard time to justify this for
themselves.
Anyway, as said already, it is set in motion and we will see…I for one
do not have plans to offer bounties…it would spoil it for me.

This is also my strong believe. And all, please note that I actually didn’t change anything - bountries have already been around for long and my main wish is to define a suggested way how to deal with them, so that we do not see people arranging private paypal transfers on Github or opening forum posts asking for people who would develop something for them.
I also think that the impact is highly overestimated - bounties will stay a small side topic and won’t really influence the majority of the work. But honestly: Should we tell people like @sipvoip and @aaugustf that they should stop offering bounties? What reason would you tell them? I rather think it is great to have users for whom openHAB is so valuable that they are also willing to fund parts of the development.

Please also read this faq entry.

4 Likes

Just saw that I was typing exactly the same as @Dim has expressed above in much better words :sunglasses:.

Fully agree.

One small clarification question:
In theory, the result of the development work coming out of a Bounty will be made available to all as open source code (on the appropriate github repo)… correct?
(I know the answer is yes, I just wanted to double check :slight_smile:)

It wouldn’t make sense for the developers to provide it as a closed source deliverable to the person who posted the Bounty. It would make it harder for them to maintain.

Yes: The prerequisite to claim a bounty is that the code has been accepted as a contribution to the project (and thus it is open source under the same license as normal).

2 Likes

Another side note on this: Just because someone puts a bounty on an issue, it doesn’t mean that it is going to be accepted by the project. It will always stay the decision of the component maintainers, whether a contribution is ok or not.

To sum it up: As mentioned above, I too had some doubts about this mechanism, but I would like to ask you all to just wait and see whether there is any noticeable impact. If you see concrete situations where it actually causes damage to the project, please raise this at any time and we can discuss appropriate actions.

I don’t think this will change the way openHAB will further develop.
Giants like Linus Torvalds operate on the same principles. The work may be funded but will remain open source.
We should not worry about this, we should hope that there is a chance that some parts might speed up!

4 Likes

Oops… I didn’t mean to start a war of words :slight_smile:
Also did not know this was a reminder and already exists… “introducing” does not really fit the reminding theme…

The discussion is an interesting one, and for all it is worth, it has shed some light for me on this topic.

I reckon the key points to take away are:
a) code remains open source
b) maintainers control what gets included
c) a bounty can potentially progress a cause

And bounty or not… I would like to thank all for their work and support; without it, OH would have been the usual download you get in a whim and then figure it is too hard and forget about it.

6 Likes

I will try to just use BonutySource, my only issue is that it does not get much exposure.

2 Likes