Open Source core functionality?

jurgen85

秀才
Have you considered making the free parts of Pleco open source? I gather from the legal notices that some dictionaries and components are already open source but I'm talking about the program itself.

I suspect this might make educational institutions more interested in collaboration. Publishers might be less happy but as long as their data and the store is still proprietary I don't see any reason for them to worry. You are already giving the app for free, and the risk of the source code leading to competition is practically zero since they wouldn't have the commercial contracts you have.

In the short term it would enable more technical users to get involved more directly, submit better informed feedback, maybe even patches. In the long term it could also ensure the possibility to support system updates or who knows, even ports to new systems. It would be a shame to lose such an essential program to the winds of time.
 

mikelove

皇帝
Staff member
We may open-source a few pieces of 4.0 that would be useful for interoperability - for example we have our own Markdown flavor (mostly cribbing off of Pandoc but with a few useful Pleco-specific bits as well) which we've implemented in Pleco through a heavily modified version of MD4C and we'll probably open source that at some point so that people can work with it to make flashcard / user dictionary entry editors and such. Another thing we might open-source is our Anki-to-Pleco flashcard format converter, since there'll undoubtedly be edge cases we don't cover well which somebody who's more of an expert at Anki than we are can handle better.

As far as the whole thing, though, it would be very tricky to separate the parts we can open-source from the parts that we can't - there's quite a bit of code in there that's closed-source / licensed from a third party and would have to be worked around, not to mention that we'd need to purge anything to do with DRM and probably even a lot of the code that manages content after it's been decrypted due to the strong likelihood of somebody finding a security vulnerability in that they can use to extract DRMed content.

Also, even if we did open-source it, it's pretty much all in C, uses some decades-old Palm OS conventions that we've never had any reason to rewrite away from because they work perfectly well, is not particularly well documented or commented, and is just an extremely complicated program in general, far more than you'd think a dictionary app could be - it would be very hard for someone who hadn't been working on it for years to get up to speed on our code base to the point where they could submit constructive feedback or patches based on it. So I honestly don't think we'd get enough technical feedback to make up for the extensive work we'd have to put in making (and keeping) it open-sourceable.

(I'll add that I've been a little burned in this regard by our CC-Canto project, where we released an entire open-source Cantonese dictionary and have gotten virtually no community help despite the dictionary and website being quite popular - I'm happy to release useful stuff like that anyway simply to share it / help others, but I am skeptical of the effectiveness of open-source for getting help back from the community if you're writing something other than a much-more-popular-than-Pleco end-user app and/or a library heavily used by other programmers)
 

jurgen85

秀才
Thanks for responding. Great news about Markdown and Anki!

I totally understand how the nature and history of different types of projects inform the license. Sorry to hear about CC-Canto not having contributors. I think this would apply especially to a dictionary, which is aimed at learners – I've used CC-CEDICT a lot and even contributed to it, but not at all in proportion to how much I use it, simply because I'm still a learner and don't yet trust my knowledge enough to add to or change it. I would hope that it's different for a program, as someone who barely knows how to say "knee-how" might still be a C guru, so I hope you don't extrapolate too much from an open source dictionary to open source in general.
 

alex_hk90

状元
(I'll add that I've been a little burned in this regard by our CC-Canto project, where we released an entire open-source Cantonese dictionary and have gotten virtually no community help despite the dictionary and website being quite popular - I'm happy to release useful stuff like that anyway simply to share it / help others, but I am skeptical of the effectiveness of open-source for getting help back from the community if you're writing something other than a much-more-popular-than-Pleco end-user app and/or a library heavily used by other programmers)
The lack of response to CC-Canto on here was a bit surprising and disappointing - wasn't there a thread/sub-forum on here at some point? I can't seem to find it any more.

Still, I very much appreciate the Cantonese support in Pleco (audio, JP, etc.), so thank you for that! :)
 

mikelove

皇帝
Staff member
I would hope that it's different for a program, as someone who barely knows how to say "knee-how" might still be a C guru, so I hope you don't extrapolate too much from an open source dictionary to open source in general.
Well no, it's more that I think that - as with a dictionary - the barrier to contribution is a lot higher; a lot more code to get up to speed with before you can contribute in a deeper way than simply submitting feedback / bug reports as people already do now. (submitting new entry to CC-CEDICT = easy, volunteering as an editor = not easy)

The lack of response to CC-Canto on here was a bit surprising and disappointing - wasn't there a thread/sub-forum on here at some point? I can't seem to find it any more.
Nobody was posting on there so we got rid of it - sad empty forum is worse than no forum at all :)

A silver lining in the open-source aspect of CC-Canto being a total bust is that, while the Creative Commons license forbids anybody else from incorporating its content into a closed-source dictionary, as the copyright owner of 100% of its entries we can do whatever we want with it, and so we may at some point move some entries into our more-thoroughly-reviewed closed-source PLC dictionary (while still keeping the current versions around in the public CC-Canto downloads), at least in the cases where we actually just scooped up a common non-Cantonese-specific word that nobody else happened to cover.
 
Top