Being Slow to Criticise
Being slow to criticise, particularly with colleagues you have to work day in and day out with, is critically important.<p>That said, much of the FOSS currently available is either itself crap, or built on libraries and/or toolkits that are crap. I cite specifically anything of the GTK flavour, many popular things built in C/C++, and to a lesser degree QT.<p>Why is this? Writing capstone technology (compilers and languages) is very hard. Many industries start life fragmented, but looking now at the tech landscape, sadly there is more hegemony in the proprietary world than the open source one.<p>If FOSS is ever to be adopted by a wider community that is inviting to newcomers (both users and hackers), this has to be addressed. It is not being addressed, and the power and elegance offered by the tech giants (Swift, C#/.NET etc.) continues to lap open source equivalents.<p>One example I'll cite is Inkscape. I now honestly believe it would have resulted in better software if this has been written once per platform (WinForms/WPF + Cocoa) rather than with GTK. It's years between minor bug releases, and it gets slower with each release. The (just released) 1.0 is unbearably slow (i.e. unusable). I've spent many hours trying to get familiar with the codebase so I could contribute to it. There's no documentation to speak of for developers, and the little that I've grasped so far leads me to thing it's better left to rot. The core is based on Sodipodi, a project abandoned in 2003.<p>FWIW I have started writing a clean room replacement in Swift/AppKit, but I'm considering altering this to Swift/UIKit for iPad so it'll be cross platform (albeit Apple only).