patacongo commented on issue #8858: URL: https://github.com/apache/nuttx/issues/8858#issuecomment-1487212762
> * Licensing issue: While major part of the implementation is my own and therefore can be released under Apache License, the idea of the algorithm itself is taken from libntp @patacongo refered to. I am not sure about licensing in this case. Do we need the original author agreement? I haven't looked at your implementation, but if you ONLY took the algorithm and implementation is wholly yours, then there is not copyright issues. Think of it this way: The copyright protects the implementation. It protects the actual code. If you re-use code, or even copy-paste sections of the code, you may be violating a copy right. If you look at the code to understand the algorithmic content, then write you own code that implements that algorithm, you have not violated any copyrights. People do this all of the time. That is why we can have work alike versions of some things. This is the whole basis of IBM's clean room design that has led to thousands of line of opened code. https://en.wikipedia.org/wiki/Clean_room_design There can be an issue with using if the underlying algorithm is patented, however. Unlike copyrights, patents can protect the content of the code. Think for examples of the problems that people had with writing their own open source MPEG4/5 algorithms. MPEG4/5 is patented so although there is no copyright violation from distributing the code, there is a patent violation if you use the code without permission. I doubt that applies here; the adjtime() algorithm is not that complex and probably not patentable. > * I implemented adjtime function separately from TIMEKEEPING support as that seems to be implementing not only adjtime but also some other stuffs. I think it is ok to keep it separate, what do you think? adjtime() is a standard application interface. It is not POSIX but still a part of standards that NuttX follows. I think that adjtime() should be available with being conditioned on a configuration variable. That should not result in any size increase since adjtim() is a leaf function in a library; in the FLAT build it will not be drawn in unless it is specifically referenced. (It will get pulled into PROTECTED and KERNEL builds because the system call logic will reference it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org