Not if the changing APIs are what you are trying to save yourself from.pythoncoder wrote:Agreed. But you can have a fork without reinventing API's. You can fork and contribute.
Adafruit CircuitPython
Re: Adafruit CircuitPython
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Adafruit CircuitPython
A fork and judicious use of Git can protect you from unscheduled API changes. It's a question of philosophy rather than of technology. We developers have a tendency to look at the work of others and think "I can do better." Then, rather than engaging in discussion with the originators to see if our ideas have legs - and offering to help - we invent our own solution. In the case of simple stuff it's of no consequence, and people will write code for their own education and enjoyment. But some problems are complex enough to merit a team approach.
Designing a truly flexible hardware API is a deeply nontrivial problem crying out for a team of developers, with people bringing their own experience of different sets of hardware constraints and capabilities.
It would be a shame to end up with several half-baked solutions where a cooperative approach might have yielded a single excellent one.
Designing a truly flexible hardware API is a deeply nontrivial problem crying out for a team of developers, with people bringing their own experience of different sets of hardware constraints and capabilities.
It would be a shame to end up with several half-baked solutions where a cooperative approach might have yielded a single excellent one.
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
Re: Adafruit CircuitPython
Oh, we had discussions. They were cut rather abruptly and resulted in the 6 month embargo on pull requests. It's hard to discuss with that.pythoncoder wrote:A fork and judicious use of Git can protect you from unscheduled API changes. It's a question of philosophy rather than of technology. We developers have a tendency to look at the work of others and think "I can do better." Then, rather than engaging in discussion with the originators to see if our ideas have legs - and offering to help - we invent our own solution. In the case of simple stuff it's of no consequence, and people will write code for their own education and enjoyment. But some problems are complex enough to merit a team approach.
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Adafruit CircuitPython
In which case you have my sympathy. I hope we end up with two good quality universal hardware API's.deshipu wrote:... It's hard to discuss with that.
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
-
- Posts: 288
- Joined: Sun May 04, 2014 8:54 am
Re: Adafruit CircuitPython
Guys like us will end up writing a wrapper anywaypythoncoder wrote:I hope we end up with two good quality universal hardware API's.
Re: Adafruit CircuitPython
By the way, if you are curious, have further questions about this, or just want to make them sweat a little trying to answer your difficult questions, there is going to be a chat on hackaday.io with the Adafruit people about their fork and the plans they have for it. Unfortunately, you need to have an account on hackaday.io to take part. Details at: https://hackaday.io/event/19509-circuitpython-hack-chat
(Unfortunately I won't be there, as it happens exactly during the FOSDEM beer event, but I think it would be good to have some MicroPython people there.)
(Unfortunately I won't be there, as it happens exactly during the FOSDEM beer event, but I think it would be good to have some MicroPython people there.)
Re: Adafruit CircuitPython
It didn't start with pycom's fork. It started the same day Damien released the source code. I myself was slow and forked just next day to contribute first patch in a few. There're currently almost 1000 forks only on github (via its standard means), and indeed, people and organizations fork for different reasons - some to contribute, some to just hit fork button randomly, some dig their own thing, some grab and run. Nothing is new under the sun, and before MicroPython, it happened to an uncountable number of (successful) open-source projects, and on some, like Linux, the whole process can be studied very well, how it goes thru decades.well it has started already with pycom's forks of uPy and adafruit is now the next one.
Back to MicroPython, you can see how well those forks doing by randomly clicking thru them. Well, we're speaking about a company's one, let's look at that:
https://github.com/wipy/wipy/
Here's the latest user testimonial:
Note that there's nothing wrong with it - it's a common story that vendors move on and leave their products in hands of their users. Actually, it's going to happen with any hardware product sooner or later. In that regard, I'm amazed with the level and persistence with which Damien supports his hardware project - PyBoard - over the years, it not just receives software upgrades all the time, but also hardware upgrades, like a deluxe car which you can modernize as years go by while your neighbors replace rusty tinboxes. Please support his work (not somebody else's).it appears the wipy 1.0 is yet another orphan (getting quite the collection ... :-/
That pinpoints it very well - that they support (support now; we know what happens when they stop supporting it). That's unlike MicroPython's motto - "MicroPython runs everywhere". All the time, too.Adafruit [] would like a uniform API across the processors/boards that they support
Awesome MicroPython list
Pycopy - A better MicroPython https://github.com/pfalcon/micropython
MicroPython standard library for all ports and forks - https://github.com/pfalcon/micropython-lib
More up to date docs - http://pycopy.readthedocs.io/
Pycopy - A better MicroPython https://github.com/pfalcon/micropython
MicroPython standard library for all ports and forks - https://github.com/pfalcon/micropython-lib
More up to date docs - http://pycopy.readthedocs.io/
Re: Adafruit CircuitPython
deshipu wrote: ↑Mon Jan 16, 2017 11:16 amIt's obvious, that they want to have at least some control over it. What would they do if someone suddenly decided to merge a patch that would completely break their ports, because the code is cleaner that way? Or if a decision to completely overhaul the API was suddenly made -- something that happened at least twice already -- and all their libraries, docs and tutorial suddenly became obsolete.
Well you always can add versioning? And if some big change would happen, you can rewrite tutors for the new one and before they are ready, use old tutors with older version. New version with cleaner code is better then obsolete fork. Though, i get that they want to have more control over "their" code. I do not say it will be the same as libreoffice vs openoffice, though there is no mention of micropython on the circuitpython landing page.. That's odd imho..
-
- Posts: 18
- Joined: Mon Jan 16, 2017 3:58 am
Re: Adafruit CircuitPython
I'm not sure which landing page you're referring to. On https://www.adafruit.com/circuitpython, the first sentence is:
If it's missing somewhere else you think it should be, let us know. We want to make it clear we're descended from MicroPython. We regularly merge from upstream, and have submitted PR's for enhancements in the core.CircuitPython is Adafruit's branch of MicroPython designed to simplify experimentation and education on low-cost microcontrollers.
Re: Adafruit CircuitPython
I don't think you realize how much hard work went into all those materials, and how much more would be required every time a MicroPython developer happily decides to break everything.