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.
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.
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.
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.
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.
I echo Exodus - thanks for the great s/w.
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.
Any advice greatly appreciated
ps Im a novice when it comes to computing
regards
richard
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.
Keep on with good work!
Kind regards,
Mateusz
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.
Bref, facilité de maintenir le code contre notoriété ... Un choix.
As others have said, Darktable is great. Keep up the good work!
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.
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...
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.
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
You'll have a 'good' machine with a 'bright' OS that will work perfectly with Darktable.
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
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?
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.
Maybe because of this movement of the Linux community it is worth to rethink about this argument.
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.
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
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,
Thanks for this program!
Kasia
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.
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.
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."
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!
i'd love to be able to recommend darktable to my friends, but they all use windows and aren't likely to switch =(
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
darktable could be a game changer one day, who knows?
Thanks.
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.