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.
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'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...
Right now darktable delivers *reliably* everything what I want from this kind of software and getting it constantly for free is for me uncomfortable :)
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
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.
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.
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.
Michael
Nobody should claim anything without giving back some of their own time...
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
[1] http://www.darktable.org/install/
[2] http://ja.wallpapersma.com/wallpapers/2013/05/Tuxperience-485x728.jpg
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! :)
congrats.....
I too would be up for sending a contribution or using a wishlist if details are provided.
Here is a screenshot:
http://www.partha.com/temp/darktable-1.6.7.jpg
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.
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.
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).
I'd also like to donate something to Darktable. You should definitely set this up!
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
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.
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!
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!
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/
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 ... ;)
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!
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.
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
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!
The problem is not to build DT for Windows.
The problem is to *maintain* it: making sure it works for all users, and keep providing stable packages for future releases.
I am also Linux user I don't have idea how to compile code on Windows (without some studio) but I can imagine that larger developer base can mean faster development and rapid increase quality of DT.
But honestly, are on Windows some Open Source developers? :-)
Then I tried to get solutions working for my previous habits.
Now, my Win7 installation lies somewhere in a harddisk and I don't care that much...
Main benefits:
- a much more user-friendly system (IMHO)
- 100% free software (I don't mean "no donation", I mean software you can explore, improve, ...)
- better security as anything downloaded from repositories are updated (and can be reverted to previous version in most case if you encountered too many problems)
- Maybe it's luck, but I haven't faced any hardware compatibility problem (so far)
- 3 of my friends saw my experience and made the same step (maybe some of their friends' friends too...)