Why won't the devs implement my feature or fix my bug?

This is perfect, even the time is about right. However my workspace is never this clean :rofl:

1 Like

That number comparison will throw a bad light on RawTherapee, except you would also count the ~ 2500 commits between RT 5.8 and current RT dev version :wink:

2 Likes

I think the most important thing for anyone considering switching is to understand what darktable is not. It is not like whichever paid software you use, doesn’t have the same features, doesn’t have the same workflow, etc. It’s not going to be learned in an hour, or a day, or longer. If you take the time to learn it, with an open mind, it’s a wonderful tool capable of producing great images.

When I first started using darktable (1.4.x) I knew nothing about raw processors other than Canon’s DPP, so I didn’t have to unlearn anything. However, I wasn’t very good at darktable, so I’d start an image in darktable then export and finish in GIMP. Then I’d import it back into the film roll and group it with the raw. Being lazy, I learned lua and figured out how to send the image out to GIMP and get it back, and thus started my road to devdom. Now the tools in darktable, as well as my skill, have improved to the point where I rarely use GIMP.

The other thing I would tell people thinking of switching, is watch the videos. There is an ecosystem that’s grown up around darktable so that there are many more learning avenues available besides reading the manual and trial and error. @Bruce_Williams , Rico Richardson, Hans Birkeland, Robert Hutton, and others have created lots of videos about how to use the features. @s7habo’s workflow videos showing what darktable is capable of are amazing and were really an eye opener for me. They taught me a new way of thinking about achieving what I wanted from my images and how to do it.

My last thought, but possibly the most important, is guidelines about how to interact with an open source project/community. The batch rename in darktable IIRC started here as a “is there a way…” or “I wish I had…” topic. There was some discussion about what it should look like and how it should work. I had the variable substitution coded as part of another script so I offered that. Someone else said there’s this function in the API that would help. I wasn’t busy, so I coded it up, created an issue on the lua-scripts repository, and pushed it out for people to play with. Everybody ended up a winner. People contributed ideas that turned into a useful addition. I got to create something. Someone got thier problem solved. Others in the community have used it and found it helpful. Perhaps we should try and capture the conversations as a how to/how not to example of community interaction.

6 Likes

I’m sorry. I didn’t mean to show RawTherapee or the community around it in a bad light. I really wanted to just use the number of active developers versus the number of issues trying to make people understand there is a resource issue and that’s why it takes awhile to get a feature or fix implemented. I used the github insights which didn’t really give me what I wanted, but I didn’t want to lose my train of thought by messing with git trying to get more representative numbers.

I understand why what I chose was a bad metric as far as project momentum and that shows another part of the issue which is incorporating things for the next release which takes resources from bug fixes. I’ll remove the statement about RawTherapee.

3 Likes

No need to do that :wink:

2 Likes

Yes, I think so, too. I am pretty active on the German “Nikon Fotografie Forum” and because I am pointing towards Linux and FOSS in general, I get more specific questions about darktable today than I got two or three years ago. Twelve years ago I was considered some exotic weirdo, today I am part of a minority.

If the same people who rant today about Adobe or (name of XYZ software) convert to FOSS, they won’t do it because they understand the idea behind FOSS. They will come over because they are so absolutely fed-up with some attribute or feature of the software they use (for years and years) that they finally swing over to an alternative solution. Very often that alternative solution is Capture One (for those who think that it can’t be good if it has no price-tag), sometimes - or rare occasions - that alternative solution is dt or RT or whatever.

These new users expect the new software to work the same it did before AND that problematic feature being solved. The idea is “I trade some weekends of learning the new software’s GUI in exchange for a better product” . They do NOT think “I now use a product that has been made by a motley crew of volunteers who gave hours and years of their time to make this work”. They measure dt or RT against what they know. How many clicks from RAW to the JPG they want, how “clear” are the labels, how understandable is the workflow?

I think dt is user-friendly. As far as raw-converters go, you ALWAYS need a couple of weekends until you know what you are doing. The learning-curve is flat in dt, but it is also in LR or C1 or RT or … you name it. At least that’s what I’ve been told because I do not know a lot of other RAW converters - I came to dt when RAWstudio was put to a halt and that’s it.

Are the … project crews (in lack of another name) ready to deal with the strictly consumer-oriented ways of former Adobe users who express their expectations for feature A and B to work at once and never stop ranting? Is there a benefit for the teams around FOSS if their product is in wide-spread use? By people who don’t understand the least bit of it and keep criticizing 24/7?

5 Likes

Here’s a thought… the devs could consider a hybrid development approach. By this I mean -

PARTLY - carrying on as now making changes which they like or see as worthwhile

and PARTLY - responding to development / feature requests by quoting a price, allowing users to sponsor the work with money, and then proceeding if enough is committed. Devs you can support sometimes have a target amount they’d like or need each month, this kind of builds on that. I appreciate it’s not without complications!

3 Likes

LOL! Quote of the day!

3 Likes

Isn’t this precisely why some developers are running Patreons and whatnots? We have some people on Pixls that do that too. There are of course also big open-sourced projects that are funded through commercial partners. Dear ImGui springs to mind. So methinks this hybrid already exists and you have options if you want to monetize your project.

Not really! dt people aren’t set up to work like that at present. There is no list of projects I might sponsor on github. There is no mechanism to pay. You can’t see how funding is progressing for a project you’re interested in. Etc…!

Some projects use bounties for targeted development, but I don’t know how popular they are.

I started contributing to RT in 2013 and still contribute to RT. Once in this period, I did a payed targeted development for RT (was 2K euros for 2 days of work), but that was the only one. As I did that, I thought, cool, but if you calculate it for 7 years, it’s just 2000€ / (365 * 7) = 0.78 cents per day…
Even power consumption of the machine I use to contribute to RT needs more than 0.78 cents per day…

1 Like

When I look at existing successful projects like Blender, Mozilla, or Godot, none of them propose bounties for specific features.
I remember that, in the past, some projects proposed features bounties but I don’t think it’s a popular funding way anymore.
As a developer or association, you need to have regular income to be able to plan, and to make your product evolve, add features, optimize, …
It’s difficult to achieve a sustainable income with bounties.
Just take an example: you need 1500 as income/month, you decide to put 3 possible features, each of those fully funded at 1000. After a pledge period, all of them are at 500.
None of those feature is funded, but with the promised donation you could work for a month on the project, and maybe make some progress on one feature.
And it’s quite the same for commercial software: you pay for support and development, but you don’t have a voice on the roadmap, or specific features.
Now, what a developer or association could do, is to create special communication channels, special builds, material, or stuff like that to allow their donator to participate or influence a bit more the project roadmap or priorities in development.
For example, Godot engine allows their higher tier patreons to submit questions before live QA sessions.

1 Like

I like the suggestion and have often wondered why you don’t see it in action already. Perhaps devs feel the monetary value gained would not be worth the hours spent, so they would rather just do their own thing. I would like to see someone trial it though.

As I explained just above, that kind of process existed a lot around 2005.
If patreon, tipee or libreapay are more popular today , it’s probably because the bounty model does not answer the need of user and developers that well.

1 Like

I believe there’s two main issues with bounties and micro-payments of any sorts: 1. Many devs already have a job and tons of other obligations (see OP), and they like those (mostly) and the open-source project is very important to them, but as a hobby. Here money isn’t a factor. 2. The unreliability and up-front cost/risk that needs to be taken by a dev that would like to make it their job. You need to deliver first to get people to trust you and pay you. And even then it’s an up-hill battle. See e.g. @anon41087856 which is working full-time on open-source since what feels like quite a long time now (about a year?) and definitely does deliver great value, and he is approaching 200 euros/week on liberapay - that’s not a living wage.

Even with a foundation backed with some funds it’s hard to pay for development, because contracting is super hard. You usually can’t just take anyone to do the feature, you need someone that knows the code-base well. Finding a contractor that can familiarise themselves with it and then implement the feature in what’s usually a pretty constraint budget is almost impossible, respectively a time-demanding job in itself.

1 Like

Paying for dev in darktable is the same struggle as funding Wikipedia. Given the number of users, something like 1-2€/year/user would probably secure at least 2 full-time devs. But the web is free, the software is free, so it’s costless in people’s mind.

I have 187 patrons right now, which is quite a lot if you compare to other projects, but going “only” to 500 patrons would leave me a net income equals to minimal (monthly) wage in my country.

It’s not super hard to find devs, there are a bunch around. Convincing some of them to allow perhaps 25% of their working time could be doable if they were paid enough. But for that you need money. And the beautiful thing is that money is out there, I mean we probably have several 100k users and most of them should have a couple of €/$ to spare.

The challenge is yet to educate these 100k users. In rich countries, a pint of beer is around 5-8 €. Most people don’t think too much before buying one to themselves or to friends. Yet, when it’s time to donate to a project that creates value for themselves, most of them get shy or think someone else will provide, so why bother ?

Bother because 100k beers/years make 4 senior/8 junior developers yearly wage, and developer’s yearly work is what you want for the software you use. Even if you don’t know it, you really want that.

If you want quality software, someone competent needs to put in the hours. There is no shortcut to that. Opensource done on spare time looks like what it is : amateur work. Only designing a sensible user interface needs interaction with real users, several iterations of design, a couple of back-and-forth feedback loops… no hobbyist dev has time for that and wants to bother either (that probably reminds him too much of his day job anyway). There is no way to do good software on saturdays evening with devs who don’t feel accountable for their work because it’s a hobby and they didn’t get paid for it. We all know that the biggest flaw of opensource is usually the interface design (or rather, the lack thereof), and the reason is it is really too time-consuming for a hobbyist dev.

So it all falls back to that : do you want to use your pocket money to improve your tools, or not ?

Let me answer that : it’s time to up the opensource game, at least as high as commercial software. Opensource means the code is public, which is good for privacy, long-term availability/compatibility and hackability. It is the only way to do software that will not turn your machine against you anytime soon (hello Cambridge Analytica, and so on).

But in practice, opensource usually means “less good software for which I didn’t pay”, and it really should not have to sum up to that.

Also, “donating” opensource tools gives a chance to the less rich countries and less rich people, because they can first get the tools for free if they cannot afford them, without being withheld by a paywall, then start a commercial activity and perhaps improve their living, and then give back when they can. (That’s me being a hopeless socialist, sorry not sorry, Uncle Sam).

But if you think devs don’t create value for you, then, sure, don’t bother.

PS/Edit : on another note, since opensource doesn’t have owners and shareholders, it doesn’t have to make profit margin, it just has to pay for dev time and their health/retirement insurance. So, paid opensource would actually be much cheaper than your usual corporate software.

Edit 2 : additionally, commercial imaging software is not that good. Sure, they have lots of candy features, AI stuff and auto stuff everywhere, but they are stacked on top of rotten pipelines and 30 years-old design meant for scanned film. Can you guess how many pieces of commercial soft do proper alpha compositing ?

18 Likes

After reading this thread, I can better understand what each of you go through developing open source projects, especially for money and time constraints, plus all the additional headaches like UI testing and surveys that are not possible because of lack of funds, time, and prior commitments such as days jobs, bills, etc.

I am part of the people seriously considering switching to open source personally because of the cost and the ridiculous rate of having to replace my computer every four or five years because of forced OS updates that make perfectly functional computers incompatible with the most recent OS.

I just talked to one of my local friends about the longevity of his computer since he is a dedicated linux user and he told that his computer lasted nearly ten years before he chose to do a massive rebuild of his desktop computer last winter.

I am slowly learning to get used to working with my current Linux OS (PopOS! from System76) in a virtual machine first (oracle virtual box) before committing to a physical computer purchase. So far, even though there is slow progress I am learning to work with a more developer oriented environment and gaining better digital skill with it.

The shocker is my dad even told me I am starting to know more about computers these days then he does, and he was an IT guy in his previous career when he was dealing with mainframe computers back in the 80’s.

I am also learning to read the documentation first if that is available and well-made, if not I have already found alternative sources such as detailed books on the open source software I need to learn (like Scribus), or even check course websites like Udemy (currently my favorite as there are great examples there for what is available).

I just haven’t settled on which open-source project to contribute to yet, as I still have prior obligations such finishing college and other professional and personal interests. I am considering donating some of my time on the weekends for working on Scribus User Manual/Documentation since that is severely lacking.

Overall, I learning to be more proactive and look for the answers myself first and finding solutions on my own before raising an issue. The really good news is that I have been able to use the command line in PopOS! to add repositories from Snapcraft/Ubuntu so I have more options than just the Software Store available with PopOS!, with that I have been able to find actively developed replacements for every immediate need so I can fully migrate any from my Apple Computer and ecosystem when I am ready to do so.

Since there isn’t commercial support I chose to be more proactive and I feel more self-sufficient digitally because I focused on choosing to learn just enough be basically proficient to install the software I need to install through the command line. I will worry about reaching an advanced user later on once all the basics are taken care of.

Pardon this long answer, but I couldn’t limit my response to a very small “sound bite”. All this is just to share that I am gradually adapting to a digital life in the open-source environment so I do not have be reliant any longer on the answers automatically being within easy reach.

5 Likes

I learned to program on an IBM 360 mainframe back in the 70’s. I did it the old fashioned way, punching cards. I might have even punched a paper tape or two. :laughing:

3 Likes

Likewise. Somehow I missed out on the “joy” of paper tape.