I've been working a on a library to handle some of the basic tasks of a wireless sensor network using nRF24L01(+) radios, RF24Network. It handles routing and addressing for up to thousands of nodes--theoretically anyway. I've got 17 running so far, with no limits in sight. Just put up a blog post explaining all the details, if anyone is interested.
GPL doesn't "own" your sketch. GPL just says that if you're going to build on someone else's work they shared for free, you should share yours too for free. Seems like an eminently fair deal to me.
GPL in a library is quite aggressive, and on the Arduino with no separation of object code possible it forces you to GPL all of your work, and any of the other libraries you may link to which are not GPL licensed. You may not have the right to re-license those libraries with a GPL license. You may not have the right to publish your own work with a freer license like BSD because the GPL license in the library you linked is not compatible.
Its more open and more in the spirit of Open Source to allow the developer the freedom to publish their work under whatever license they like. If they want to share it with others they will.
This is pretty cool. Is there any advantage to networking Arduino field nodes other than extending the wireless communication distance?
I've been using HopeRF's RFM69HW transceiver modules. There is one Arduino library for it, developed by Felix of Low Power Lab. The 915MHz has much greater range and wall penetration than the nRF24L01+ from my experimentation. It would be nice if the RFM69 library could be extended to do this type of networking.
Is the network layer abstract enough that it can be applied to any wireless transceiver? What are the requirements of the wireless transceiver API that would allow this network layer to be implemented?