Open DazFahy opened 4 years ago
@DazFahy what is the other project you are looking to put it in?
Perhaps you can suggest something we can add to the readme, which would serve the purpose you are mentioning? As you will know better than us exactly what you need.
@shawaj it is the Microsoft dotnet/iot project which is for IoT device bindings for .Net Core on Raspberry Pi's and other boards.
Because they are on the MIT licence they have said that in order for the code I have written to be added to the repo, I cannot have used the source code from your repo because you are on a GPL licence. They have said that the only way is if the documentation provides the detail which can be used to write the code.
Just for reference this relates to https://github.com/dotnet/iot/pull/1213
@DazFahy that is fine. However, what I am trying to understand is exactly what info you need to be in the documentation. Could you elaborate on what exactly you need documenting to get this resolved?
And are you perhaps able to suggest (perhaps via a PR or just a comment in this issue) what this documentation should / could look like?
@shawaj He needs all the details of the low level I2C commands and responses. Now the only way to get those details is looking at the pijuice.py module source code and implement it in c#. For legal reasons he does not seem allowed to do this since our code is GPL We would have to document the low level communication in a programing language neutral fashion (like e.g. the I2C communication in data sheets).
@tvoverbeek do you think this is something feasible to do?
@shawj and @tvoverbeek I am happy to help produce any documentation
@DazFahy if you're happy to that would be great :-)
On a side note, pijuice.py
is licensed GPL V2, while the project LICENSE file states GPL V3...
Can you clarify?
Note that it would help to have the pijuice.py
module itself licensed LGPL to avoid issues when it is imported in a script with other python modules which might have an incompatible license...
(E.g. you can't use GPL V2 and Apache V2 modules in the same script...)
@AmedeeBulle I guess you mean setup.py not pijuice.py?
Indirectly...
The license stanza of setup.py
states the license of the packaged python module which is pijuice.py
for the pijuice-base
package.
@tvoverbeek was that a mistake re @AmedeeBulle comment on the license? Are you happy for us to change to GPL v3 to be the same as the rest of the repo?
@shawaj whoever wrote the original setup.py (Francesco or Milan?) put in GPL v2. Might indeed be a good idea to license pijuice.py as LGPL so ir can be used in programs with other licenses as long as they do not modify pijuice.py.
@tvoverbeek I'm happy to change the whole license to LGPL or MIT or something more permissive. No particular reason for choosing GPL v3 really.
Update here based on email from @richlander - https://github.com/dotnet/iot/pull/1213#issuecomment-734434507
Seems like this issue can be closed now.
Thanks @richlander
@tvoverbeek any further thoughts re changing to LGPL or MIT or something like that? Do you think it would be worthwhile?
Also @DazFahy not sure if you would still be happy to write up any stuff about what you did to convert this?
Could be really helpful for people in the future 🙂
Hi @shawaj, yes definitely. I have some time between now and the new year, I will try and come up with a formatting example that we can agree on for the information. Will probably need some help though on some of the descriptions on what the code is doing though.
Hi @shawaj, below is an example of what I'm thinking it might look like. I have based this on the BMP280 datasheet. I've chosen the Firmware version due to it being one of the simpler pieces of code to document.
Let me know what you think, any other suggestions for the format or contents are much appreciated.
The "firmware" register contains the firmware version of the pijuice.
Register 0xFD "version" | Name | Description |
---|---|---|
Bit 7, 6, 5, 4 | major[3:0] | Contains the Major Firmware Version |
Bit 3, 2, 1, 0 | minor[3:0] | Contains the Minor Firmware Version |
Register 0xFD "firmware variant" | Name | Description |
---|---|---|
Bit 7, 6, 5, 4, 3, 2, 1, 0 | variant[7:0] | Contains the Firmware Version Variant |
@DazFahy sure, happy to help and I'm sure @tvoverbeek and @ryanteck and @mmilann will be as well!
With regard to the formatting... It looks absolutely fantastic to me! Nice one.
Variant is about hardware compatibility and currently only one variant is there. For example it can be checked before updating to suitable firmware.
On Tue, Dec 15, 2020 at 2:54 PM Aaron Shaw notifications@github.com wrote:
@DazFahy https://github.com/DazFahy sure, happy to help and I'm sure @tvoverbeek https://github.com/tvoverbeek and @ryanteck https://github.com/ryanteck and @mmilann https://github.com/mmilann will be as well!
With regard to the formatting... It looks absolutely fantastic to me! Nice one.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/PiSupply/PiJuice/issues/574#issuecomment-745300272, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEZI57TYS4KDIZDSHTXQITLSU5TCLANCNFSM4THQ67LQ .
-- Milan NeskovicHardware Engineer
Pi Supply Unit 4 Bells Yew Green Business Court, Bells Yew Green, East Sussex, TN3 9BJ, United Kingdom Email us at sales@pi-supply.com [image: Pi-Supply] http://pi-supply.com/ [image: Email] milan@pi-supply.com[image: LinkedIn] https://www.linkedin.com/in/milan-neskovic-5369b5167
@mmilann just so you know - @DazFahy built this https://github.com/dotnet/iot/pull/1213
And has very kindly offered to help us document the firmware functionality and info so other people can build software support without relying on our GPL licensed code.
If you can provide any further assistance on this @mmilann it would be much appreciated.
@DazFahy suggestion looks nice, I would just change naming. Instead of "Register" more suitable is to say "Command code" because it is not actual contiguous memory read but more like remote procedure call.
Hi, would it be possible to update the documentation to include the command addresses which are used to communicate with the PiJuice and also any other missing documentation.
Basically I am wanting to implement a C# version of the code in a non GPL compatible code, it is an MIT licence. However because I have had to read the code to obtain some of the functionality, the other project are saying that because they are MIT and the code I have read is GPL then they cannot merge my code for legal reasons.