I am working on a project https://github.com/org-rs/org-rs written in Rust programming language. The goal of the project is to provide a parser for the Org markup language.
Because of the incompleteness of Org's spec, I have to study the original implementation of the parser that is written in Emacs Lisp. https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-element.el (Emacs and Orgmode are licensed under GPLv3)
In order to provide the complete implementation of the parser I am using the same parsing algorithm as original implementation.
The problem I am facing is that the Rust ecosystem is primarily licensed under permissive licenses (MIT and Apache2) and this presents a problem for my project. Since my project technically is a library licensing it under GPL severely impacts adoption of my library - other projects will have to become GPLv3 too in order to include my library. (Rust statically links libraries)
Am I legally obligated to release my work under the GPLv3 license? Or can I use MIT/Apache2/LGPL license to release my work? This is a question of life and death for my project. If I have to use GPL - my project is going to be still-born and I would rather not waste my time on it.