You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2021/09/17 22:16:58 UTC

[GitHub] [incubator-nuttx] patacongo opened a new pull request #4571: Correct a few license headers under net/

patacongo opened a new pull request #4571:
URL: https://github.com/apache/incubator-nuttx/pull/4571


   ## Summary
   
   Back in 2007, an early network implementation was developed for NuttX.  This early development was inspired largely by uIP 1.0 and recognition of that was noted in the then BSD license headers.  Over the next 14 years, a new, much more advanced, original network was developed for NuttX.  However, some references to Adam Dunkels were still present in the file headers.
   
   Because of this, it will take some time to detangle the licensing under net/.  Many new features, original features were added to the NuttX network.  Clearly, any references to Adam Dunkels in the files that implement these new features that have no counterpart in uIP 1.0 are errors.
   
   This PR removes the references and converts the license headers to Apache 2.0 where possible.  The affected files include only (1) the implementation of IPv6 (including neighbor support under ICMPv6) and (2) Raw sockets.  Neither of these features are present in uIP 1.0 and the licenses can be freely updated.
   
   ## Impact
   
   None, functionally
   
   ## Testing
   
   CI only
   
   
   


-- 
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-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx] patacongo commented on pull request #4571: Correct a few license headers under net/

Posted by GitBox <gi...@apache.org>.
patacongo commented on pull request #4571:
URL: https://github.com/apache/incubator-nuttx/pull/4571#issuecomment-922171561


   Here is how I would see the rest of this working out.  uIP 1.0 consists only of IPv4, ARP, TCP, and glue logic.
   
       * IPv4.  This is scattered throughout the code.  There is no real discussion for this.
       * ARP.  uIP 1.0 had a very buggy ARP implementation.  For example, it would drop outgoing packets if the MAC address was not already in the ARP table, sending an ARP request instead.  Because of this I completely redesigned and re=implemented ARP.  I don't think there is anything from uIP 1.0 in NuttX except for, perhaps, the ARP table access routines.  I would have to look at that to be certain.
       * TCP.  The uIP 1.0 TCP was also largely re-implemented, but I am not certain of the extent.  I suspect that there may still be some traces of the uIP 1.0 TCP state machine (tcp_input.c) but  most likely, that is the only uIP 1.0 TCP logic left.
       * UDP.  UDP was expermental and incomplete in uIP 1.0.  UDP has been completely re-implemented and should not have any relation to UDP in uIP 1.0.  That needs to be verified.
       * Since the execution environments are so different, I don't there should be any licensing dependencies between the two code bases for the "glue logic".  By glue logic, it is meant the socket layer and and the network device interface.  NuttX has true BSD sockets and true network device drivers which have no counterpart in uIP 1.0.
   
   One other thing, parts of the 6LoWPAN implementation came from  Contiki and also have attributions to Adam Dunkels.  These specific files should have the headers reverted and should be treated as third party files.
    


-- 
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-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx] patacongo edited a comment on pull request #4571: Correct a few license headers under net/

Posted by GitBox <gi...@apache.org>.
patacongo edited a comment on pull request #4571:
URL: https://github.com/apache/incubator-nuttx/pull/4571#issuecomment-922171561


   Below is how I would see the rest of this working out.  uIP 1.0 consists only of IPv4, ARP, TCP, and glue logic.  The original uIP port resided in /net/uip.  It was adapted for the NuttX interfaces and made compliant with the coding standard.  That code was completely redesigned.  The redesigned, re-implemented code was created in other sub-directories under /net. When all of the uIP logic had been re-implemented from scratch, then the uip sub-directory was removed.  It was a bad decision to leave references to Adam Dunkels in the BSD license headers.  This was done as a matter of respect and not intended to imply that Adam is the author or owner of the code that was re-implemented.
   
   * IPv4.  This is scattered throughout the code.  There is no real discussion for this.
   * ARP (/net/arp).  uIP 1.0 had a very buggy ARP implementation.  For example, it would drop outgoing packets if the MAC address was not already in the ARP table, sending an ARP request instead.  Because of this I completely redesigned and re=implemented ARP.  I don't think there is anything from uIP 1.0 in NuttX except for, perhaps, the ARP table access routines.  I would have to look at that to be certain.
   * TCP (/net/tcp).  The uIP 1.0 TCP was also largely re-implemented, but I am not certain of the extent.  I suspect that there may still be some traces of the uIP 1.0 TCP state machine (tcp_input.c) but  most likely, that is the only uIP 1.0 TCP logic left.
   * UDP (/net/udp).  UDP was experimental and incomplete in uIP 1.0.  UDP has been completely re-implemented and should not have any relation to UDP in uIP 1.0.  That needs to be verified.
   * Since the execution environments are so different, I don't there should be any licensing dependencies between the two code bases for the "glue logic".  By glue logic, it is meant the socket layer and and the network device interface (/net/devif).  NuttX has true BSD sockets and true network device drivers which have no counterpart in uIP 1.0.
   
   One other thing, parts of the 6LoWPAN implementation came from  Contiki and also have attributions to Adam Dunkels.  These specific files should have the headers reverted and should be treated as third party files.
    


-- 
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-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx] xiaoxiang781216 merged pull request #4571: Correct a few license headers under net/

Posted by GitBox <gi...@apache.org>.
xiaoxiang781216 merged pull request #4571:
URL: https://github.com/apache/incubator-nuttx/pull/4571


   


-- 
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-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx] patacongo edited a comment on pull request #4571: Correct a few license headers under net/

Posted by GitBox <gi...@apache.org>.
patacongo edited a comment on pull request #4571:
URL: https://github.com/apache/incubator-nuttx/pull/4571#issuecomment-922171561


   Here is how I would see the rest of this working out.  uIP 1.0 consists only of IPv4, ARP, TCP, and glue logic.
   
   * IPv4.  This is scattered throughout the code.  There is no real discussion for this.
   * ARP.  uIP 1.0 had a very buggy ARP implementation.  For example, it would drop outgoing packets if the MAC address was not already in the ARP table, sending an ARP request instead.  Because of this I completely redesigned and re=implemented ARP.  I don't think there is anything from uIP 1.0 in NuttX except for, perhaps, the ARP table access routines.  I would have to look at that to be certain.
   * TCP.  The uIP 1.0 TCP was also largely re-implemented, but I am not certain of the extent.  I suspect that there may still be some traces of the uIP 1.0 TCP state machine (tcp_input.c) but  most likely, that is the only uIP 1.0 TCP logic left.
   * UDP.  UDP was expermental and incomplete in uIP 1.0.  UDP has been completely re-implemented and should not have any relation to UDP in uIP 1.0.  That needs to be verified.
   * Since the execution environments are so different, I don't there should be any licensing dependencies between the two code bases for the "glue logic".  By glue logic, it is meant the socket layer and and the network device interface.  NuttX has true BSD sockets and true network device drivers which have no counterpart in uIP 1.0.
   
   One other thing, parts of the 6LoWPAN implementation came from  Contiki and also have attributions to Adam Dunkels.  These specific files should have the headers reverted and should be treated as third party files.
    


-- 
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-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [incubator-nuttx] jerpelea commented on pull request #4571: Correct a few license headers under net/

Posted by GitBox <gi...@apache.org>.
jerpelea commented on pull request #4571:
URL: https://github.com/apache/incubator-nuttx/pull/4571#issuecomment-922470729


   LGTM  
   
   @patacongo 
   Thanks


-- 
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-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org