5 ms·
It's very much like Pandoc, but with two (three?) major differences: 1. Uses the Apache License (Pandoc is GPL). The code for this project is part of a commerc
by peterkelly 12y ago
It's very much like Pandoc, but with two (three?) major differences:
1. Uses the Apache License (Pandoc is GPL). The code for this project is part of a commercial, closed-source project (and needs to continue to remain part of this project) so sadly this rules out Pandoc on legal grounds. I've also had interest from others in seeing such a library unencumbered with the GPL restrictions.
2. It's written in C, not Haskell. The commercial product (UX Write) runs on iOS, and I'm not aware of any Haskell compilers for iOS. I think there are some efforts underway, but at least when I began this two years ago C seemed the natural way to go.
3. It does non-destrctuctive updates, meaning you can make a change to the target file, and then update the source based on the modifications. Doing so will leave any elements in the source document which were unable to survive the translation intact. I'm not sure if Pandoc does this.
- Argorak 12y ago> I'm not aware of any Haskell compilers for iOS Use GHC. http://www.infoq.com/news/2014/04/ghc-7-8-1 http://www.infoq.com/news/2014/04/ghc-7-8-1
- GlennS 12y agoFor HTML to Markdown this works in Pandoc, because HTML elements are valid Markdown. Haven't tried with other target formats. One option if you can run Haskell code somewhere is to use the Pandoc library, which will produce an in-memory structure that you can manipulate as the user makes edits.
- belorn 12y agoHave you had any interest from others in seeing your commercial project unencumbered from legal restrictions? That would open up your options considerable.
- peterkelly 12y ago> Have you had any interest from others in seeing your commercial project unencumbered from legal restrictions? I have, yes. But currently it's my only source of income, and I need to maintain said income, otherwise I will not have the resources to devote to development of the app (both the closed source parts and open source parts). If I could make the same amount of money (or more) by open sourcing the entire app, I'd happily do it. I know that theoretically at least, there are strategies to do so, and actually I'd like to take this approach if I can find one that works. If you have any suggestions I'd certainly like to hear them (and yes I'm serious). I'm a strong believer though in the "hybrid" approach, whereby parts of a product are open source (and used by other products), and other parts are kept proprietary. KHTML (now known as WebKit) is a perfect example of this. If it was GPL, there's no way Apple could have built Safari on it, and the project would have continued to struggle as it had been for some time and probably gone nowhere. But because it was under a license that allowed Apple (and later Google) to build a proprietary product on top of it, both companies had a strong incentive to take the library and improve it. Granted, it was LGPL (not Apache), so they were legally required to contribute their changes back to the community. A proprietary product that brings in money that can, in part, be used to fund development of the open source components of an application is something I see as a good model. But certainly there are others that could be made to work.
- kibibu 12y ago> 1. Uses the Apache License (Pandoc is GPL). The code for this project is part of a commercial, closed-source project (and needs to continue to remain part of this project) You can release code as GPL and still use it in your own proprietary projects, because you retain copyright. You just need to ensure you have a contribution agreement that assigns copyright to you. The risk is that somebody will fork your work and then you couldn't switch to the forked version.
- peterkelly 12y agoI'm aware of that, but I suspect people will (rightly) be wary of assigning copyright to my company, granting me rights over their contributions that they themselves aren't able to exercise (since doing so would require incorporating code licensed from me under the GPL). We're currently putting together a proposal to make this an Apache Incubator project and I hope to have it developed as a community effort there. Thus everyone will be able to use it in their own open- or closed-source products if they wish (which will increase the attractiveness of the project for some, who would otherwise avoid GPLd code due to its viral nature). And then no company/individual has any special rights over others who have contributed.