That other OS

The last time I posted to this blog it was my April Fool’s Joke about a file manager (which happened to be just an embedded shell). Since a few people didn’t like that at all I want to assure you that this is no joke at all. However, if you are a Windows user and feel easily offended, then stop reading now.

Still here? Great. I managed to compile darktable for Windows.

It took me about two days of hacking to have our code in a shape which is eaten by mingw (I cross-compiled under Debian). That was the easy part.

The hard part is the question “Shall I commit it to git?”. Code wise it’s only a really small change, but the implications might be huge. I remember when GIMP was suddenly available for Windows (yes, I’m that old). At first it was unstable. Then it matured. And now, well, let me phrase it this way: I strongly believe that porting GIMP to windows was the biggest mistake these guys ever made. Followed by no longer adding an alpha channel to new layers. Maintaining a code base which none of the developers can run, test or debug is a nightmare. Even more if the users have not the slightest clue what’s going on. With Linux users you can give the advice to run gdb and generate a backtrace. Some might not know what you are talking about, yet it’s not too hard to give simple instructions. Have fun doing that with a Windows user. They are a bunch of consumers which only take what you give them. And since they know that, they are really good in demanding everything while giving back nothing. That’s an attitude I don’t like. Don’t believe me? Go looking at support forums for GIMP. It’s hell.

The next problem with Windows is the lack of package managers. While Linux has tons of different flavours, nowadays most of them come with a working package management. That makes it easy to distribute a program and keep it up to date. Well, Windows recently introduced some means of online updates for third party software, but that’s beyond our scope. So in the end we would need to have our own installer, bundle all the needed libraries, maybe add some automated checking for new versions, you name it.

Then, what are the benefits from adding Windows to the pool of supported platforms you might ask? The standard answer always given is “you get so many new users”. Well, yeah. So what? Do they pay me? No. Do they support me coding the program? Hardly. Do they promote our software? Yes, to other Windows users which generate noise, too. Sorry, a valid argument looks different.

At the end of the day it all boils down to the question whether we want to follow the route GIMP and other open source software went. While I don’t think we should take the burden of providing installers or even binaries, I guess adding support for compilation doesn’t hurt too much. After all darktable also builds on Macs. And don’t get me started on Mac users. ;-)


46 thoughts on “That other OS

  1. Windows version would be nice. However, it took me two evenings to install MVware in unity mode and run Darktable under Win 7. And since I am a complete ignorant when it comes to Linux I believe everyone is actually able to do the same.

    Thanks for this program!

  2. I’d like to try this, so loading up a VM on my windows box with a linux distro is not too bad. However, if I like it, I don’t want to run it in a vm. I’d like to have a windows native compile.

    Quick background statement:
    I’m a linux guy from way back. I like it. I use it part of the time at work (but not most of the time). However, everyone that I live with (wife, kids) are all windows people. I don’t have the means to run multiple boxes, so windows is a reality for me and for my family.

    Your argument boils down to the assumption that all windows users are ignorant users, not programmers, and don’t contribute to projects. That’s probably true 90% of the time, but not all the time. The same thing is probably true of the linux community, although at a lower percentage. *MOST* consumers of free and open source programs don’t contribute code back to the project.

    Really, the way that you talk about it in your post, it seems that you have a general distaste for all things windows and all things mac. Is your bias driving your decision?

    Ultimately, you’re saying “what’s the benefit to us? What do we get out of a windows build?” The reality is that you get to do good things for other people – some of whom won’t get it and won’t appreciate it – but the vast majority will. That’s why releasing gimp on windows was a good idea.

    Anyway, there is another alternative. Don’t release windows binaries or installer. But, publish instructions on how to port the software to windows. I’ve never done it, but I am very interested in giving it a try. I think that I’d learn a lot.

    Something like a “howto” would do it. That way, you’d attract the user base that you want, in windows. Who knows? You may end up with valuable contributions that you never expected, and never would have gotten from a strictly linux world.

    • You overrate my opinion about Windows (and Mac) users. It’s not even that getting a compilable version is that hard. The real hassle is keeping it up-to-date and maintaining the dependencies. When looking at GIMP or Inkscape that’s really non-trivial and needs someone dedicated to it for more than just the short time it takes to release a first binary. If these things aren’t maintained for the foreseeable future they suffer bitrot and will need to be removed again. And noone will like that.

      Btw: I don’t think that “you get to do good things for other people” is a valid argument. To be honest, when I get told what to do I tend to do the opposite. So never tell me what to do. We owe nothing to anyone. We just do what we like to do.

      The official conclusion to this topic was:

      “We will not port darktable to Windows. The only exception is when someone shows up and proves that he’s able and willing to maintain that platform. This is not so much about our code base but building and bundling all the libraries we depend on.”

  3. I agree with Craig.

    Personally I don’t like that at work I *have* to use Windows. At home my beloved Arch Linux rig waits for me every evening but having the choice to have my favorite open source apps in both windows and linux makes it way more bearable.

    I love that I can work on Blender, GIMP, Inkscape, even Firefox no matter if on a Windows box or my awesome Linux machine.

    So yeah, I believe providing the choice helps your software reach a lot of audiences, but no matter where you look, there’s always shitty self-centered people that demands, and also people of good will that also gives back to the community.

    I say, at least post some instructions and you choose if you want to support the platform or let somebody else do it.

    Thanks and peace!

  4. have the source changes that allow it to compile under windows and then have a windows developer/user to maintain it, you need someone who is actually interested in maintaining it for windows (ideally because they’ll be using it)

    i’d love to be able to recommend darktable to my friends, but they all use windows and aren’t likely to switch =(

  5. I’m a new user and so far a huge fan of Darktable! I use Linux a lot for work, but at home I use a Windows PC (for the odd game). So, I’ve been running Darktable in a VM. It works okay but takes a performance hit which makes it a bit tedious to use. I’d love to be able to run it natively in Windows, but I understand your point of view. Here’s hoping a dedicated windows dev shows up and takes up that project! Or maybe I should start learning some more programming myself; give me five years or so and if nobody gets there first maybe I’ll sign on. :)

  6. I also came here to look for a free alternative. Understand houz argument that maintaining a version for every possible platform migh become a maintenance nightmare. Unfortunately this leaves us windows user with no free alternative. Having used DXO, Lightroom and tried some other alternatives I suggest you cough up the (now reduced) price for Lightroom 4. (Until we have a decent free version available).

  7. Hi

    I am trying to build darktable for windows but I cannot pass the cmake part requiring gettext.

    Can you please give some general guidelines of how to build? Which software to get?

    I installed mingw with msys and I am trying to run from the msys shell.

    I have problems with gettext not found and glib version.

    I understand that maintaining a windows version is not easy, but keeping a readme with general instruction would help someone to create a windows build.

    Thank you very much

  8. let me add, it would help to promote darktable and maybe to shake up adobe about linux a bit, when they start to lose some customers;)
    darktable could be a game changer one day, who knows?

  9. Hi it would be very nice if you can share the way how you managed to compile it for Win. It would be really nice and also your efforts which you put in cross compiling won’t be wasted.


  10. I totally agree with houz. This kind of users in general is very irritating for a developer. This is such a consumer mentality that shouldn’t apply to open-source and public domain software. That is why it is public domain. It’s everyone’s responsibility to maintain it. But this sense of entitlement that these kind of users have, as if they are throwing their hard earned money at you for professional support is even more aggravating. Another classic consumer mentality is that the software is not “competitive” enough. Instead of being grateful that there actually IS any kind of free public domain tool, available to everyone they keep being miserable. In the end, I guess there’s no helping some people. I guess the best answer to give to them is that if they want “proper” support (hardly a good analogy because there are open source projects with extremely responsive developers) they should pay for it in the form of a “proper” commercial alternative.

    • Just to clarify one thing: darktable is not in the public domain. And at least for me it wouldn’t even be possible to release something as public domain.

  11. Lightroom, Aftershot Pro, delaboratory, rawStudio, and darktable. I’m new to photography and tried all of these tools to find a platform to learn about photo editing.

    Admittidly I have been most comfortable with Aftershot Pro, which is truely nice and works on Linux (and is fast), but I am finding myself spending more and more time into darktable and am making the effort to use this as my learning platform for photography editing.

    I don’t think it’ll be easy to compete with lightroom, for starters people cannot download darktable for less than it costs, which means it loses appeal among the kiddies who like to get expensive things for free. Plus all great things are great because not everyone has it. Once it’s common among the people, it’s no longer great.