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. ;-)

Discuss.

Filed under: development
These are comments from the old website, archived as static HTML
  1. I only use Linux to be honest. I enjoy every bit of your software and actually enjoy kicking people who use Lightroom with all the plugins and neat stuff. This also serves me as an entry point to bring them into the Linux world. The OSS movement and community.

    Having it available in Windows is a set back to a widely known agenda of freedom in software that of course envolves a change in the economic structure of software development that is currently lacking, but also fulfills a human need of freedom.

    So my position is keep on coding for Linux. Who ever wants it to run on Windows will do so although your notes are already providing use for thoughs who might want to venture forth in that compilation adventure.

    Cheers,

    PS: Thanks for the great software.
  2. I completely understand what you're saying here...but it would be nice to have Windows support, because there are some computers it would be awesome to use Darktable on, which run Windows. In other words, not advertising it as a standard Windows app (with an installer and such), but just having the ability to run on Windows. Hopefully this would minimize the number of Windows users, especially those without knowledge of open source software.

    How much code was added/changed to be able to compile for Windows? If it's not too hard, it would be awesome to have the capability, and even perhaps offer pre-compiled binaries (no need for installers or auto-updating), simply stating that there is no official support for it.

    With the poster above, however, I agree that if it's any detriment, don't do it.
  3. I personally use Linux ~98 % of my computer time, but e.g. my coworkers at the university all use that other OS. But what's really cool is that I could introduce them to OSS like Inkscape, Scribus, GIMP, Hugin, LibreOffice etc. without having to urge them to install Linux.
    Of course, I would prefer them to use Linux, but for me it's good that they even get to know the open alternatives to the widely known commercial packages (which might have the side-effect of lowering the fear of trying out Linux).

    That said, I agree with what you said about the attitude of the majority "those" users regarding the give/take ratio.
  4. I guess your best bet would be to fork the code base for Windows (and/or Mac) and find a maintainer for the fork(s). So you don't have to support Windows users yourself, and the Windows community (if any) can take care of themselves.
    Look at KDE for Windows, I find it a great example. The core developments are made for Linux, and a small dedicated team takes care of the Windows port.
    And of course, if no one steps forward for maintaining the Windows version of Darktable, well at least your conscience is clean, you gave them an opportunity.
  5. I've just started using DT. It is awesome. Personally, my primary OS is linux, but there are occasions when I do not have that choice (at work I have to use win7 or XP). I'd love to be able to use DT wherever I am, but appreciate that it may cause you guys extra hassle. IF you can find a way to make it windows available without getting swamped with support requests/noise, go for it. Otherwise, continue to make improvements and keep it working well on the already established platforms.

    I echo Exodus - thanks for the great s/w.
  6. I'd say you could still manage it. Make a windows version, slap a bunch of beta logos (or even completely rename it) on the windows build to show them that you don't expect it to be stable and will not be supporting it.

    Then charge them for the download (like a forced donation. Minimum of 1 dollar, max of whatever.) You could even use that to control the windows support. ex: "when donations reach x we will fix the top bug on the bug tracker."

    Plus being open source you might get more developers for doing so.
  7. Richard Down on Tue Nov 29 07:02:49 2011:
    Hi, need help installing DT on a MacBook Pro running Lion......can anyone advise pls? Ive downloaded the .dmg file (0-1.9.2) opened it and dragged it into the app folder. When clicking on the icon it bounces up and down but nothing happens

    Any advice greatly appreciated

    ps Im a novice when it comes to computing

    regards

    richard
  8. HI,

    First, I want to give congratulations for this software.

    I use linux in the 90% of my time, for to edit my photos I use DT, and gimp, MS Windows for me is not necesary, but if you have problems forporting to MS Windows, You might think to pass the C code to Java, so you probably could make it multiplatform, but I don't know that problem will have with it.

    Regards.
  9. Mateusz Kaduk on Thu Dec 8 14:30:37 2011:
    I hope DT won't ever follow GIMP or other multi-platform projects. Often software designed for one platform runs better, requires less code, and is much easier to maintain. I don't think bunch of Windows related mess in the code would help this project, either in stability, speed or development. Seriously, nowadays Linux is so easy to run, even in emulator such as VirtualBox or VMware. Linux users run, emulators for Windows software, why Windows users cannot run emulator for Linux software ? Please, just DON'T spoil another great project. Mac OS is Unix based, so port should be easier, and shouldn't hurt that much general community, but porting to Windows, will probably hurt everyone. Please make easy to maintain and clean code for compatible, Unix based architecture, don't follow inefficient ideas. Having clean code for single platform, really allows developers to focus on developing features that can be used by professional photographers instead of putting efforts in maintaining multi-platform inefficient mess.

    Keep on with good work!
    Kind regards,
    Mateusz
  10. On one hand, it would be quite convenient to have Darktable on both Windows and Linux, since we use both platforms for edits as wedding photographers (and Mike uses DT exclusively). However, if it would result in slower development or considerably more bugs to address, we'd rather stick to keeping DT as an open-source alternative to Lightroom. Regardless of your decision, keep up the good work!
  11. Endri Budiwan on Tue Dec 20 11:47:17 2011:
    Don't bother porting to windows, just focus on making darktable the best RAW software. Porting to windows will only make development much more slower and prone to annoying bugs. Windows users are currently happy with lightroom, bible, rawthreapee, etc.
  12. At works, I use several time by week, Inkscape on Windows and sometimes Gimp.
    At home I'm on a old macboo and use LR, inkscape and gimp. I follow your blog and if DT looks to complete all think I do with LR. I'll leave my old mac for a brand new linux. I'm very happy to see that the project get better and better. Maybe you should focus on linux for now. But maybe later it will be usefull to have a windows version for those who want to test before switching to linux.
  13. J'ai commencé l'informatique par windows et je suis maintenant sous debian. J'ai découvert les logiciels libres sous windows, bien avant de passer à Linux. Je pense que windows est un accélérateur de notoriété pour les logiciels libres puisque c'est l'OS de 80% des utilisateurs d'ordinateurs. Qui connaîtrait Gimp s'il n'était pas utilisable sous windows ?
    Bref, facilité de maintenir le code contre notoriété ... Un choix.
  14. Why not offer virtualbox images that are ready to run darktable? Those who can't handle such a thing are not apt to use darktable and will not cause noise.
  15. I would say that since you've opened up the possibility of a Windows port, you've done all that you need to for now. If you can find somebody who wants to maintain the Windows version and you find them nice to work with, that would be a good way to do it. Otherwise, stick with what you're already doing.

    As others have said, Darktable is great. Keep up the good work!
  16. This is an interesting topic!

    When I took over as main maintainer of Luminance HDR, I found Windows users both my biggest community and my biggest trouble. Around 70% of Luminance's users are on Windows and I couldn't ignore them. However, I soon realized that, being also the more computer-wise immature (no serious computer lover would use Windows without knowing the implications), I had to understand their bug reports even when they didn't really had much sense at first glance (headache mode on!).
    I have the say that Luminance made a BIG step forward when Daniel (Luminance's Windows maintainer, I will never thank him enough) managed to compile Luminance using Visual Studio. Since that day, Luminance become more stable, fast and reliable, which also helped all of us to harvest the huge amount of bugs that were inserted by MinGW (I personally believe MinGW cannot be used to compile serious applications, like Darktable).
    However, your situation is different, because you never officially supported Windows before (while Luminance HDR has been released on Windows since its born). My suggestion is to look for a maintainer of the Windows build, which work in synergy with you to keep the quality of the product to the same standard level than the build for Linux. Only at that stage, I would release officially for Windows. Otherwise, I would personally stay away from an official Windows support.
  17. Ľubomír Brindza on Mon Jan 9 05:28:15 2012:
    At the moment I'm using darktable from an Arch VM before I find the time to commit to Linux exclusively. That being said, being able to compile under Windows would be nice. I don't really care for binaries, but since you said it was a reasonably small change in the code, could you upload the patch somewhere? No support, no strings attached, no bullcrap.
  18. Maarten Bosmans on Mon Jan 23 20:41:43 2012:
    You could use the OpenSUSE BuildService to automatically cross-compile DT and all it's dependencies for Windows. It really helps to keep the burden to build and release every version for other platforms small.

    If you're interested, I could help and set it up for you, just let me know.
    Although of course it does not help against any of the comments about windows users in general...
  19. irgendwoanders on Wed Jan 25 13:42:34 2012:
    The way i see it there is still work to do for smoothly releasing DT on linux.

    Reight now volunteers package DT up for various distros and handle distro-specific feedback. Which works well, but has it's limits.

    Wouldn't it be a lot nicer to have automated builds AND packaging AND regression-testing for all major distros? By that you could reduce manual actions and really streamline the release process and the feedback. You could zap bugs faster, improving quality in the long term. Good quality is what shuts up users and brings fun to development.

    Please don't bother thinking about windows until you absolutely ace the release process on linux.
  20. Dr Malcolm Bradley on Sun Jan 29 08:15:49 2012:
    Darktable for windows? The only advantage I can see for me is that the windows machines I have are all large in memory and newer; thats because they have to be to run windows operating systems. The Ubuntu and fedora machines on the other hand tend to be older and with less memory; because they are brighter os's. I naturally want for image processing to move to as large a machine as possible.

    So it would be nice to have Darktable to run on win 7, the alternative is setting up a large Ubuntu machine. There is a cost to that, so you may want to consider a nominal charge for a windows version. If Microsoft can charge then so can you.

    Malcolm
  21. Marie-Noëlle on Sun Jan 29 21:59:38 2012:
    I'm not sure I understand your point ... What prevents you to buy a Windows machine, and install Linux on it?
    You'll have a 'good' machine with a 'bright' OS that will work perfectly with Darktable.
  22. luojie-dune on Sat Feb 4 03:58:15 2012:
    You must get a completely different name for the Windows user, let them know nothing about what they used is darktable behind so they won't bother you.
  23. hmm... i think the windows users like to pirate copy
    lightroom or such... i would estimate the number of
    windows users who will welcome a foss image processing
    system as very low.

    if you think it would help to devide forces for
    supporting windows, well.. go for it. i would prefer
    if you guys would work on masking and such usefull
    features :-)

    greetings & thanks,
    x
  24. I use Linux a lot and it runs on my laptop, desktop at work and on my root server. I also have a WinXP desktop box though, and it would be great to be able to use the same software on all of them. I would also like to be able to install darktable on the laptop of my girlfriend.

    I don't think you really need an official installer and I would be willing to compile it myself (and host these non-official binaries somewhere). Actually this is why I came here, to find out whether compiling under Windows is actually possible atm.

    So were these changes commited to git by now?
  25. Since there are quite some people which seem to like the idea of a Windows port I might invest some time into that. The biggest difficulty I see isn't our code but the libraries we depend on. Inkscape has what they call "devlibs" – a bundle of all the needed third party libraries. That might be a possible route to take. However, there needs to be someone with Windows knowledge who can assist in creating such a bundle and keep it up to date. And that's the hardest part of porting: maintaining.

    So, if there is anyone reading these lines who thinks that he can help, feel free to say hello in IRC (#darktable on FreeNode). Maybe we can figure something out.
  26. (I myself run (at home) only a Linux computer.) Interesting reasons for/against a windows port. But regarding the argument of the Windows users which don't have any clue whats going on on their laptops: Isn't that the (new) target group of distros like Ubuntu? Isn't that the direction Linux is heading in? I believe, that the number of Linux users who don't know what debugging means, will steadily increase. And in my opinion darktable should be usable to them too. I mean, in the end it is a photo software, no development software. The target group should be photographers and not software developers, right?
    Maybe because of this movement of the Linux community it is worth to rethink about this argument.
  27. @houz: You are definitely right, getting all the libraries compiled and keeping them up-to-date is the major part of the work. I compiled quite a few but not all of them yet...
  28. I've spent most of the day reading your blog. I've installed darktable on my (soon to be old) Linux PC but haven't had much time to look at it.

    1. The primary objective should be to improve darktable, for example adjustment layers (selective enhancements like sharpening, etc.). IPTC data is also important for pro users.
    2. Unless someone takes the burden to maintain AND support Windows binaries, don't bother. Focus on the important issues to advance darktable.
    3. I haven't found a good workflow under Linux, but darktable looks like it can be the cornerstone for a complete Linux photo editing workflow. You don't know the pain I go through having to use Windows just to process photos. Any investment in providing a real alternative to Windows (and Mac) is much appreciated.
    4. You mentioned Gimp. Given that it still works in 8 bit (though beta releases may support 32 bit) makes it a no go for me. Gimp has been around for so many years and only now seems to start addressing photographer needs.
    5. Filters: There are some nice filters and plugins for Photoshop/Lightroom, for example Nik filters, that would be great to have for darktable. I understand that this may not be possible to implement, but do you have any comments on that?
    6. Batch processing: I'm using Capture NX2 and am able to store the settings and then use them for batch processing selected or all photos in a folder. Is that possible with darktable (sorry, I haven't played with darktable enough to find that, and I haven't seen a blog on batch processing)?

    Under Windows, I can have a complete workflow, with all the bells and whistles. This includes monitor calibration (using the NEC Spectraview software and colorimeter to upload 14 bit profiles into the screen), RAW conversion for the latest cameras using Capture NX2, Lightroom or whatever, photo editing in PS, and output in different file formats or on printer (I use the old Epson 2100, but have access to Epson 3880 and large format printers up to A1).

    ArgyllCMS may cover the calibration, though I would have to live with some limitations (only 8-bit and no upload to the screen, i.e. only LUT). The other missing piece is DAM (digit asset management), which I believe darktable could solve with full IPTC support, tagging and search functions. Printer output - well, I don't know. Haven't really tried it under Linux. In the end, what really counts is the result. Any suggestions are welcome.

    So, to me the Linux environment is still somewhat behind commercial Windows or Mac solutions. I really would like to make it all work under Linux. I am also prepared to spend money on it (a Windows license itself costs around $150 to $400, only for the bloody OS, let alone the other licenses I need and purchased).

    What I'm saying here is that your darktable project looks like it's heading the right direction - providing the most advanced photo editing/RAW conversion solution available today. If only all the missing pieces would fall into place. Which workflow do you suggest to advanced armature or pro photographers?

    You guys got my hopes high for an all-Linux solution. Thank you again for your hard work in an outstanding project.
  29. Question: Do you have a user forum? It would be great to exchange know-how between users.
  30. Hi Heiko,

    there has been a discussion on the users' mailing list lately. In general everybody agrees that this would be a nice-to-have. But the team does not have the resources to maintain a forum - we barely have time to develop darktable itself...

    So this would be a community project. Feel free to jump in and join the users' mailing list for the discussion.

    Simon
  31. Hi,

    I am not new to Linux (I worked and programmed a lot under Linux in the past - Red Hat and more recently a bit of Ubuntu) However I do all my professional photo editing and retouching under Windows.
    I have been a LR user for some time now and very recently *downgraded* to LR4 from 3.6 (no, that is not a typo. LR4 is a downgrade for me). Adobe's lack of response led me into a search of LR alternatives and here I come across Darktable and it seems such an amazing software and I got intermediately deflated when I saw it is not ported for Windows.

    I would vote for a Windows distribution. Would love to take a dive on Darktable. And if keeping it, yes, I would not mind at all paying for it. Heck in the end I paid for something that doesn't work (LR 4)

    Cheers,
  32. DMG doesn't run on Mac Lion... any idea how to solve this?
  33. 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!
    Kasia
  34. The topic sure is interesting.

    I have some free time, so I was thinking of possible hacks and improvements to some of my favourite FOSS out there. The first thing that struck me was that I could port Darktable to Windows. After all, I thought that it ought not take too much time. Then I came across this post...

    I think that Darktable under Windows would be a useful addition. Now, don't get me wrong, I love Linux. I use it whenever I have to programme. But when it comes to usability, I cannot deny that my computer performs better under Windows (for a variety of reasons, including closed source drivers and hardware). This means that I am restricted to using software available for Windows while I'm working in Windows. In such a case, having Windows binaries works wonders.

    As for the package managers, that's BS. I mean, repos in Ubuntu are hardly updated, we have to resort to third party repositories. Luminance still is in 1.9.3 in the Ubuntu repos (by contrast, I'm on 2.3 beta in Windows).

    I guess Windows does have a lot of issues, but I think that there is a huge amount of users out there who want decent software; they are being denied the opportunity to use some of the best FOSS out there, just because we are being too finicky about the people who use our software.

    I think that the idea of a fork, with a developer dedicated to the Windows version of DT is a great idea. Maybe the Windows version may be a bit buggy, but I'm sure that the bugs will get ironed out in due course.
  35. Craig Crowder on Thu Jun 14 22:26:14 2012:
    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.
  36. 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."
  37. Alexander on Fri Jun 29 15:46:08 2012:
    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!
  38. 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 =(
  39. 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. :)
  40. 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).
  41. Tiago Freitas on Mon Nov 5 00:14:34 2012:
    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 build.sh 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
  42. 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?
  43. 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.

    Thanks.
  44. 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.
  45. 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.
  46. 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.