# Why don't you provide a Windows build?

Due to the heated debate lately, a short foreword:

We do not want to harass, insult or criticize anyone due to his or her choice of operating system. Still, from time to time we encounter comments from people accusing us of ignorance or even disrespect towards Windows users. If any of our statements can be interpreted such, we want to apologize for that – and once more give the full explanation of our lacking Windows support.

## The darktable project

darktable is developed and maintained by a small group of people in their spare time, just for fun. We do not have any funds, do not provide travel reimbursements for conferences or meetings, and don't even have a legal entity at the moment. In other words: None of the developers has ever seen (and most likely will ever see) a single \$(INSERT YOUR CURRENCY) for the development of darktable, which is thus a project purely driven by enthusiasm and curiosity.

## The development environment

The team is quite mixed, some have a professional background in computing, others don't. But all love photography and like exploring the full information recorded by the camera themselves. Most new features are added to darktable as an expert for, let's say GPU computing, steps up and is willing to provide and maintain code for the new feature.

Up till now there is one technical thing that unites all developers: None of them is using Windows as operating system. Some are using Mac OSX, Solaris, etc, but most run some Linux distribution. New flavors of operating systems kept being added to our list with people willing to support their favorite system joining the team.

Also (since this stands out a bit as “commercial operating system”) Mac OS X support arrived in exactly this way. Someone (parafin!) popped up, said: “I like this software, and I want to run darktable on my Mac.”, compiled it on OS X and since then does testing and package building for the Mac OS X operating system. And this is not an easy job. Initially there were just snapshot builds from git, no official releases, not even release candidates – but already the first complaints about the quality arrived. Finally, there was a lot of time invested in working around specific peculiarities of this operating system to make it work and provide builds for every new version of darktable released.

This nicely shows one of the consequences of the project's organizational (non-) structure and development approach: at first, every developer cares about darktable running on his personal system.

## Code contributions and feature requests

Usually feature requests from users or from the community are treated like a brainstorming session. Someone proposes a new feature, people think and discuss about it – and if someone likes the idea and has time to code it, it might eventually come – if the team agrees on including the feature.

But life is not a picnic. You probably wouldn't pass by your neighbor and demand from him to repair your broken car – just because you know he loves to tinker with his vintage car collection at home.
Same applies here. No one feels comfortable if suddenly request are being made that would require a non-negligible amount of work – but with no return for the person carrying out the work, neither moneywise nor intellectually.

This is the feeling created every time someone just passes by leaving as only statement: “Why isn't there a Windows build (yet)?”.

## Providing a Windows build for darktable

The answer has always been the same: because no one stepped up doing it. None of the passers-by requesting a Windows build actually took the initiative, just downloaded the source code and started the compilation. No one approached the development team with actual build errors and problems encountered during a compilation using MinGW or else on Windows. The only thing ever aired were requests for ready-made binaries.

As stated earlier here, the development of darktable is totally about one's own initiative. This project (as many others) is not about ordering things and getting them delivered. It's about starting things, participating and contributing. It's about trying things out yourself. It's FLOSS.

One argument that pops up from time to time is: “darktable's user base would grow immensely with a Windows build!”. This might be true. But – what's the benefit from this? Why should a developer care how many people are using the software if his or her sole motivation was producing a nice software that he/she could process raw files with?

On the contrary: more users usually means more support, more bug tracker tickets, more work. And this work usually isn't the pleasing sort, hunting seldom bugs occurring with some rare camera's files on some other operating system is usually not exactly what people love to spent their Saturday afternoon on.

This argumentation would totally make sense if darktable would be sold, the developers paid and the overall profit would depend on the number of people using the software. No one can be blamed for sending such requests to a company selling their software or service (for your money or your data, whatever) – and it is up to them to make an economical decision on whether it makes sense to invest the time and manpower or not.

But this is different.

Not building darktable on Windows is not a technical issue after all. There certainly are problems of portability, and code changes would be necessary, but in the end it would probably work out. The real problem is (as has been pointed out by the darktable development team many times in the past) the maintenance of the build as well as all the dependencies that the package requires.

The darktable team is trying to deliver a high-quality reliable software. Photographers rely on being able to re-process their old developments with recent versions of darktable obtaining exactly the same result – and that on many platforms, being it CPUs or GPUs with OpenCL. Satisfying this objective requires quite some testing, thinking and maintenance work.

Spawning another build on a platform that not a single developer is using would mean lots and lots of testing – in unfamiliar terrain, and with no fun attached at all. Releasing a half-way working, barely tested build for Windows would harm the project's reputation and diminish the confidence in the software treating your photographs carefully.

We hope that this reasoning is comprehensible and that no one feels disrespected due to the choice of operating system.

# References

That other OS

## 51 thoughts on “Why don't you provide a Windows build?”

1. Guys. Darktable is awesome. Keep doing what you’re doing. You have made my life as a hobbyist photographer using Linux a thousand times more enjoyable and productive. I’m also a software developer and I totally understand the difficulty of what you’re doing.

If you ever set up a legal entity to accept donations I would be happy to contribute. If not, well, if you happened to link to an Amazon Wishlist you might get something at your doorstep.

Thanks for the great work. I don’t think anyone could be upset by this exceedingly friendly response to the “Windows” question.

• I totally second that. I have been using darktable for a while now. And while I don’t know how to write code, I would like to give something back.

2. I applaud your efforts! I am new to darktable and have found it exceptional! I too know the plight of a hobby/passion turned into a non paid “job”! I’ve refused similar circumstances in the past, much for the same reasons listed in your article. Bravo!

I’ve scoured your webpage and, unless I missed it, I do not find any place where one could donate to your project. I think if you had a paypal (or some such) donation/contribution button, this might help alleviate the pain.

Regardless, I look forward to your continued success. Never give up the passion of the hobby, photography or coding! I for one am grateful…

3. This is another opportunity to tell you that your software rocks. I mean really rocks. This is always a great pleasure to use it. Keep being awesome and THANK YOU to the whole team.

4. On the side note, I’m using darktable and feel, that even when I do not have time/resources to dig into source code and provide new features, I would like to show some kind of gratitude to developers involved in the development. Maybe some “donate” button (for conferences etc.) or kickstarter campaign for new/great features.

Right now darktable delivers *reliably* everything what I want from this kind of software and getting it constantly for free is for me uncomfortable :)

5. Just to say thank you to the developers who have created, maintain and continue to improve Darktable.

Having switched from Windows to Linux about a year ago, I think the Windows community is already adequately served with RAW manipulation software.

It was such a wonderful thing to find Darktable and realise I could use powerful native Linux software for my DSLR images. I am still getting to grips with Darktable and keep discovering new things I can do.(eg fixing keystoning last week.)

So thanks, Darktable is brilliant!

David

6. A really good write-up. I’ve been using darktable for several years now, and its capabilities still surprise me. Terrific work.
As Slawek already suggested: A donate-button or a Kickstarter campaign (like Krita did) would be a good opportunity for me to show my support.

7. > Why should a developer care how many people are using the software

There is one potential benefit, that you did not mention: more users usually also mean more developers, because at least a tiny fraction of the users have some interest/skills for software development. But only few of those potential developers might be able to take on the task of porting unfamiliar software to their operating system, though they could contribute in other areas (e.g. camera support, translation, etc.), thus improving the software and maybe starting a positive feedback cycle (better software -> more users -> more developers -> better software).

I agree that no FLOSS developer has any obligation whatsoever to implement a specific functionality in his spare time. But maybe you could provide a blog post/wiki page/whatever that you can point the Windows users to that says something like “You want darktable to support Windows? Great! These are things you’d need to implement and if you hit any problems, these are the people that you can ask for advice.” That might actually lower the bar far enough for someone to stand up and do the work.

• The problem isn’t so much that much work has to be done to make the code support Windows. We could do that in a relatively short amount of time. The support we would need is someone (or better: several) people actively MAINTAINING that code. That isn’t a job of “pick something from the list and implement it” but “dedicate yourself to be the guy fixing all Windows related bugs, taking care of updating build requirements and convince the darktable team that you will still do that in 2 years”. That is a completely different beast and the opposite of a drive-by contribution.

8. In these days of hardware virtualization perhaps the simplest Windows build would be a lightweight Fedora or Ubuntu virtual machine with preconfigured Darktable and instructions how to run it on windows.

It would increase your user base but in an environment you could control.

As a 20 year Linux user with a windows PC for work, nothing would persuade me that Windows is the right environment for photo processing. Keep up the good work with Darktable.

9. Thanks for your detailed explanation for those who don’t understand. Please don’t get discouraged by those who disparage your work for not having a Windows build! I’m with the other commentators here. Although my only contribution to Darktable is one small pull request, I use it for all of my photography management needs, and I absolutely love it. Thank you again for sharing your quality work with all of us.

10. Anyone interested in software like Darktable, Gimp etc is probably computer literate enough to run linux alongside windows. Its something I did as a back up after losing a hard drive. So ignore the moaners and carry on providing an amazing product. I think photographers are spoilt for choice with the amazing number of free software packages available. So many that I have trouble sticking to just one!

11. Thank you very much for this great piece of software. I am a developer myself and can understand your motivations very well. Every time I use your program, I am delighted that I do not need to start Windows to get the best out of my photos. I hope you have fun with your ‘baby’ for a long time and I can accompany you for many further years.

Michael

12. Guys, you do a great work, you do a great software and you (sometimes) implement algorithms straight from scientific papers, even before ‘major CGI software companies’ try to do that. Just keep doing the great job you do! And for those, who complain: just put a link about installing linux on virtualbox on windows somewhere in your FAQ ;)

13. Have you ever thought on crowdsourcing for funding a Windows port?

• Have *you* ever thought about starting a crowdfunding to pay and organize people which would port it to Windows? Remember it’s opensource. It’s all about your initiative :)

The opensource mindset and even understanding what libre/opensource software actualy is (and what it’s not) is probably just to foreign to windows users. – People don’t do the development for you and others. They do it for them selfs and – because they are nice – they share and let others participate in what they have built.

It’s all about your initiative! :)

14. Thank you very much that you wrote this piece of software which I like. I understand you very well. It’s your time which you spent to develop, to write the documentation, to fix some bugs, to help users etc. We must be and we are very thankful.

Nobody should claim anything without giving back some of their own time…

15. Dear darktable developers:
Its your right to defend and explain the reasons why there is no Windows port yet.
However you must not be surprised when Windows users start to get aggressive on that matter, when they read the windows on your ‘installing’ page [1] next to the cropped windows sucks picture [2].

Maybe rework that part of your website and windows users will be more relaxed.

Regards,
Jakob

• > However you must not be surprised when Windows users start to get aggressive on that matter

Seriously? What on earth entitles anyone to get aggressive about a completely free, open-sourced and generously provided software project? Such an attitude can surely only hinder your hopes to see a Windows build, not help them …

As a linux user, though, I want to say how grateful I am to the Darktable developers for such a brilliant piece of software. Thank you, and please just keep doing what you’re doing!

16. guys Im looking a sustitute for ligthroom, id like to consider the windows, version , i support rhe open source aplications….

congrats…..

17. Thanks for making Darktable available as you do. It must involve a lot of time!

I too would be up for sending a contribution or using a wishlist if details are provided.

18. Well, I built Darktable 1.6.7 64bit for Windows. However, it’s still proof of concept rather than releasable product. There are some issues that I’ll bring up in the developer’s mailing-list when it comes back up again.

Here is a screenshot:
http://www.partha.com/temp/darktable-1.6.7.jpg

• Of course that is trivial, I have been doing that years ago and just a few days ago, too. As we said many times, the issue is maintaining such a build. So please don’t make people expect the situation to change unless you are willing to take over that maintainer role for the next few years.

• Hi Partha and houz,
I have got a few questions:
– How did you set up the build? Did you use GTK 3 or 2? Did you create anything similar as the files in darktable-release-1.6.7\cmake\macosx for Windows?
– houz: Where do you see the major effort in maintaining the build? If building is trivial, how much more does it take to regularly perform the build once a new source version is released? Once you have a build setup, this should also be trivial. In fact, this could be automated fairly simply. Same goes for releasing the build artifacts.

Maybe we could do this together. I am interested.

• @ Mashall Stack:
I have been reading the Heise comments in the last few days with mild amusement, so many wrong claims, wild theories (and the usual Heise comment crap on top – you are not meant). I wonder why no one approached us (or me in particular, as my name was mentioned a few times in these comments) in IRC yet. Anyway, let’s answer here as I couldn’t be bothered to register at the Heise forums.

I cross compiled my Windows version under Linux, using MinGW. All the steps I took several years ago when I did this the first time are well documented in git (I wonder if anyone poking around there ever actually looked at the code checkout? He might have found it), and my recent endeavour took basically the same route just with some small differences and updates that I will document soonish, too.

Now I happen to know that you are using the Microsoft compiler and can already tell you: forget it. That won’t work and is a waste of your time. Microsoft didn’t manage to support a C standard from the last millennium (C99) which darktable makes use of, so their compilers are useless for the job at hand. If you need any more information: Come to IRC, #darktable on FreeNode.

Regarding the 2nd half of your question: Maintaining a port is not the same as packaging it. That can indeed be done by a script and a cron job. Maintaining means knowing the platform with closed eyes, seeing a bug report and immediately being able to do an educated guess what causes it and knowing how to fix it in hours. The kind of proficiency we request from ourselves and that makes darktable a viable software under Linux. We can’t let a half hearted Windows port stand in the way of the reputation we built. So if you want to do that: great. But be prepared to donate most of your free time in the years to come and better be able to manage to compile darktable or I doubt that you would be able to fix what’s broken.

19. The point about C99 support is really important. https://en.wikipedia.org/wiki/C99#Implementations notes that it wasn’t until the Visual Studio 2013 release that Microsoft *started* to implement some C99 features. Anybody who wants to build this application on MS Windows really needs to get (the currently-RC) Visual Studio 2015.

The Oracle Studio (formerly Sun Studio) compiler suite added C99 support in their SunOne Studio 8 release of May 2003 (http://www.oracle.com/technetwork/systems/cccompare-137792.html).

20. As a Linux only photographer, I’ve found Darktable to be the one program that actually does everything I need for RAW files. Aftershot Pro sort of worked in some ways, but was more buggy and isn’t free. Suffice it to say, I’m very happy you guys are focusing on a quality Linux product instead of spreading your efforts thinly with builds for Windows.

I’d also like to donate something to Darktable. You should definitely set this up!

21. I love darktable, being a Linux user and a hobbyist photographer Darktable is the perfect match for me.

I must admit though that the Darktable project, in comparison with other FLOSS projects, is much “closer”, not in the code or licensing sense of the word, in the social sense. For example I never find a comfortable way of knowing where Darktable’s next version is heading, what are their priorities, what they are working on etc. I suppose I could just check the code repository from time to time or subscribe to the development mailing list or something like that, but in comparison with other open source projects this is a little bit more obscure.

I suspect the reason for this is exactly the same as the reason explained here for not having a Windows version. They just aren’t interested at all at creating a huge community, they just want to have fun doing what their curiosity asks them to do. Luckily they are kind enough to let us enjoy their work, they could just decide to do it in a private way and keep the software for them, that way they wouldn’t have to invest time in giving explanations about anything to anyone.

I would love to see the Darktable community grow and open a little more but this does not usually come by free, that means having someone investing even more time in community management tasks, attending the questions and problems of even more people and requesting people who are working for free to accept the obligation of doing not exactly what they feel like doing in the moment but what was agreed and “promised” to the community.

I agree with the fact that a bigger user community might attract a bigger developer community but IMHO I doubt the ratio between new users with new problems and the new developers with new solutions would compensate, not at least until the community was really powerful enough.

Unless the main development team is willing to commit to growing the community to such point I think we must be happy and grateful with what they are already giving us.

By the way I think a way of donating to the project is a fantastic idea.

Thanks for the great work!

Maybe

• The thing about somehow announcing what will come in the future is that we don’t know either. There is no real roadmap or set goals. It’s more that we spot something we are not happy with and change it.

What I can say though is that the next major release (ETA in a few months if all goes well) will switch from GTK2 to GTK3 and have some changes under the hood. It will include a printing mode and some other new features.

• > For example I never find a comfortable way of knowing where Darktable’s next version is heading …

What does heading mean? Something special you are missing?

There are blogposts on upcoming features around here, like “color reconstruction” from Ulrich posted in May 2015. This posts made me switch to the developers version, because it usually takes quite some time until the get released. You can track the news feeds e.g.

> They just aren’t interested at all at creating a huge community, they just want to have fun doing what their curiosity asks them to do. Luckily they are kind enough to let us enjoy their work, they could just decide to do it in a private way …

Maybe. But why this site exists and why someone take care and respond on … ;)

22. There’s one 80’s song in my country whose refrain goes like “everybody wants to go to heaven but in fact, no one’s willing to die.”

People just want to drop by and not caring in the least whether developers have an actual life or not, demand!

They don’t even have the guts to change operating system let alone learn how to program and start contributing to the DT community!

I think the infamous ‘troll treatment’ would fit the bill perfectly, whereas anyone in a forum or discussion group just whining and bugging everyone off, is simply ignored and let ‘talking to the hand’.

Finally, thanks so much for a fantastic piece of software which does what many other RAW processors say on their tins and much more!

23. One of the biggest draws of finally moving 100% to Linux for me was Darktable. It’s a fantastic piece of software, I get so much use from it and I’m always learning new things with it.

If there was a way to donate to the cause then I’d be happy to send a token of appreciation across.

Keep up the fantastic work, it’s very appreciated!

24. I follow this project since more than 2 years now.

A while ago Ulrich asked for translators of the usermanual on the mailing list. I was so green and thought “great” lets step in and give something back. On a German photo forum I asked for contributors on Nov. 25, 2013 and got the first response one and a half year later on June 26, 2015. Meanwhile I deleted the account at the forum and I also had a closer look into the translations. I quickly recognized that this translation will take months and that my language skills not sufficient. Much more this translations must be keep updated!

darktable is highly optimized to delivery a responsive UI. Who will take care that this will also be the case on Windows. Have you ever tried the Windows-Build of digikam?

Please listen to the answers of houz, because he simple knows and do not underestimated the work related to user requests which will arise once a Windows-Build will be official. Do know how many 3rd party software has problems with the current Windows 10 release? Many users will take it to safe a view bucks on commercial products, but expect the same features and so on.

What I do not want to see is that darktable development and performance will suffer, because developers need to take care on Windows specific issues.

By the way you can donate in some way, because developers usually ask for donations for the libre graphic meetings: http://libregraphicsmeeting.org/2015/

25. Keep up the good work, this is the only RAW software I use with my SONY RX100 and A7RII and my favorite filter is Velvia as I used that during my silver halide days with SLR.

26. I second that comment that said: “set up an entity to accept donations and I’ll donate or an Amazon wishlist and something might arrive at your doorstep”

I’m new to photography, but I’m loving darktable so far. Just for the sake of trying, I’m running a trial of Lightroom on my old MacBook Air (but my main machine is a Linux laptop) and even on that MacBook, I keep running darktable.

27. Dear darktable team,

you are doing an awesome job. I have been a serious amateur photographer for a very long time. There are a couple of reasons I switched to Linux, job related and also the FLOSS idea. For a long time I was holding back to switch to linux, since I didn’t see any suitable raw-processing software to pursue my favourite hobby: photography. When I discovered darktable, I finally did the move to switch on my private machine to Linux. Thanks for that.
I have expirienced darktable almost on par with some of the best commercial software that I used before. In some respects darktable is a lot better and has features I hadn’t seen before, but on the other side I also miss much polishing and stability. So naturally I thought I could donate some money to get things developing faster and to get myself a better user expierence. It is for me the only way to really to contribute. My job involves computer work every day with overtime. I have family and other obligations. I can’t spend my last couple of hours of freetime learning to program, which I tried a couple of times, but found that it just isn’t for me. I am also not a person who likes to spend the evening in some bug tracker board to triag stuff. But, I wouldn’t mind throwing in some cash to advance the project. If someone else likes to hack on darktable and I can provide some money to enable that person to spend time doing this, or pay his trips to conferences or pay a new server, then I am absolutly willing to contribute that money. In the same way I used to pay for prioritary software.

I understand that organizing this takes time: creating a legal entity, budgeting, taxes, community feedback,… but I think it would be well spend efforts.
I like the example of krita. They manage to finance 1.5 full-time positions and I honestly believe that darktable does have the potential to do even better. With adobe, google(NIK) and others that provide serious photography tools moving into the cloud, I think it will become more and more important to have a serious alternative for the linux desktop (and other OSs).

I think that there would be many plus sides for you guys to do that step and the downsides should not be that many. Maybe you could have a chat with the krita guys and see what their experience is and then reevaluate. I think the community would definitely make donations in return for more stability and polishing here and there, but also to show you guys appreciation.

Cheers,
Matt

• The thing is, I would love to get paid to work on darktable. However, throwing a few bucks at it won’t be enough to employ someone. We would have to make sure to raise some serious funds, and not just once but every year. And I am absolutely not convinced that the community would donate that much. The first round would maybe work out, but after that everyone will think “hey, I already gave money, now someone else can take over” and in the end the experiment will fail.

28. HI, i was stunned, when i use darktable the first time. Iam a VFX Artist and a Linux Mint User. I can tell you. your code, your denoise algorythm and your sharpening filter is unique in the whole industry and the best what i have seen in my entire life. I do VFX for more than 15 years and your Software is great. I can only say thank you. I use it to color grade entire sequences of EXR Files and it worked better as NUke or Davinci. The degraining Tools are more advanced than the denoise tools in NUke and that is awesome!!!!!!!! 10 of 5 Stars for that piece of Software. Move on Make. You all deserve the best with your amazing work!

29. As the original author of a linux-only application (Gnome Wave Cleaner), I understand the volunteer nature of the darktable project.

I completely support your rationale for a linux-only distribution. You are “scratching your own itch”, with the tools your volunteer developers know. I am very happy that you have made darktable available to other users.

Maybe one day, after I don’t have to work for a living, I can contribute to darktable too. It is a great application.

Thank you!