> On 16 Jan 2016, at 12:32 AM, Alex Harui <aha...@adobe.com> wrote: > > Probably too late, but some comments in-line. > > On 1/15/16, 6:55 AM, "Peter Kelly" <pmke...@apache.org> wrote: >> >> However, one important factor which really killed things for us was the >> inability to use Qt. >> >> The desktop app was the main priority, however. >> >> To do a cross-platform desktop app, and to do it properly, it’s necessary >> to use a suitable UI toolkit which provides all the necessary >> functionality. As it turns out, the only viable candidates we were able >> to identify (Qt and GTK, with wxWidgets and fltk as less desirable >> fallback options) are all licensed under the LGPL. For most open source >> projects, this would be no problem - LGPL and ASLv2 are compatible with >> each other, in the sense that you can distribute software combining the >> code from the two licenses without problems; doing so just means that >> users of the software are bounds by the terms of both licenses. > > It appears that Qt is no longer under LGPL and now just GPL? [1] That > could limit the number of commercial users which is one reason why the ASF > has the CategoryX restriction.
It’s now available LGPLv3 - they’ve just LGPLv2.1 as an option, for new releases. > >> >> We very quickly settled on Qt as the toolkit of choice, on technical >> grounds. It seemed to us to be the most mature, feature-rich, and best >> designed library of the available choices, and some of us had already >> used it on other projects in the past. However, even if we had chosen one >> of the other libraries, the outcome would have been the same. > > FWIW, Apache Flex and Apache Cordova can create cross-platform desktop > apps. I think these are pretty mature projects. I recently discovered Electron (http://electron.atom.io <http://electron.atom.io/>) which I’ve used as part of some other work I’ve done recently and actually quite like. It also services as the framework for GitHub’s Atom text editor. If I’d known about it a few months ago when the podling was still active, I would have suggested using this for the editor. Having spent some time using Atom, I think that Electron would be have been a good solution for Corinthia’s editor. It’s available under the MIT license, which according to http://www.apache.org/legal/resolved.html <http://www.apache.org/legal/resolved.html> makes it acceptable to use as a project dependency. I would recommend this as an option to new ASF podlings that wish to build a cross-platform desktop app. Another advantage of Electron is that it’s all based on web technologies, so most if not all of your UI code can be used in a browser environment. Unfortunately, the hostility and attitude of specific individuals who objected to our proposed to of Qt lead the decision making off-track, and into arguments. The was essentially was basically "no, you cannot use Qt, and therefore the editor should not be part of the project” (i’m paraphrasing here). This caused the discussion to descend into arguments which severely harmed the community. My suggestion to people involved with ensuring that ASF policies are adhered to - such as the licensing issues I mentioned - is to say “Ok, this particular solution is not permitted within the rules. However, given the requirement in question is a very important part of the project, let’s work together to find a solution that allows us to achieve our goals within the context of ASF”. If this approach had been taken, I think there’s a pretty good chance we would have ended up conducting more research into available options, and ended up going with Electron. That didn’t happen though, and as result the whole podling fell apart and numerous people (myself included) left. In my particular case, the experience was stressful enough that I longer wish to have anything to do with an ASF ever again. > IMO, the ASF way of open source is a pseudo-religion. So is the FSF/GNU > way. The ASF says you must not scare away people who want to make money > by selling software. The FSF says you cannot make money selling software. > When you become an ASF project, then potential customers who want to make > money don't have to dig through your licensing to figure out if they can. > If you don't need that advantage, then yes, the ASF may not be a good fit. > But it sounds like you are choosing to not want for-profit customers. I > hope that's really what your community wants. I should explain a bit more about the nature of the way of the software we planned to to write which depended upon Qt. I’d like to first mention though that I own a company which is already using the non-UI Corinthia codebase in a for-profit manner (UX Write, a word processor for iOS) - in fact this is where the code originally came from. The iOS version has a (closed source) UI using Apple’s native APIs, and does not use Qt. There are three components to the project 1) A C-based file format conversion library, does not depend on any LGPL or other Category X libraries 2) A javascript-based WYSIWYG HTML editing library, which has no dependencies at all; other than the standard APIs provided by browser (and embedded web views, such as the UIWebView class on iOS) 3) A Qt-based desktop editor Parts 1 and 2 already exist, and have been deployed in production (as part of UX Write) for around three years. We had been working on improvements to these parts, and there were no licensing problems (actually there were originally, but we fixed them by replacing a couple of libraries e.g. minizip with our own implementations). Part 3 was brand new. Depending on the use cases, it is perfectly feasible to use only part 1 and/or part 2, without part 3. The latter was intended as a tool provided by end-users. We tried to arrange for this to be an “optional” component, in order to avoid the Category X restrictions, but this proposal was rejected. The question then arose, ok - what should we do? Should we do the Qt editor on GitHub, and keep the file format conversion and editing libraries as part of the ASF podling? To me, this seemed very problematic from the community perspective - we would have two different development venues, two different issue tracking systems, two different wikis, two different release processes (which we would have to figure out if/how to coordinate them). And would ASF accept the use of the Corinthia mailing list for discussions of development of a non-ASF project, particularly when a large portion of such discussions are likely to cover it? What about voting processes, commiter/PPMC membership? It probably could have been made to work with sufficient effort, but it seemed like an unnecessary hassle. For our situations, I feel that ASF’s policies are actively harmful to fostering a healthy community. The “community over code” mantra seems hypocritical when there are other aspects of ASF which, at least in certain cases, get in the way of building a strong community. The solution seemed pretty simple - just move everything to GitHub. All the code remains under ASLv2; anyone can use the components that do not rely on LGPL libraries. And those who wish to make commercial apps based on the editor are able to do so, so long as they are willing to comply with the conditions of the LGPL, or purchase a commercial license for Qt. I hope the above gives some food for thought. -- Dr. Peter M. Kelly kelly...@gmail.com http://www.kellypmk.net/ PGP key: http://www.kellypmk.net/pgp-key <http://www.kellypmk.net/pgp-key> (fingerprint 5435 6718 59F0 DD1F BFA0 5E46 2523 BAA1 44AE 2966)