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.

46 thoughts on “That other OS

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

    • 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.

  17. 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. 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. 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. 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

    • 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.

  21. 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.

  22. 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

  23. 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?

  24. 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.

  25. (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.

  26. @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…

  27. 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.

  28. Question: Do you have a user forum? It would be great to exchange know-how between users.

    • 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

  29. 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,