Shop OBEX P1 Docs P2 Docs Learn Events
Idea: "Propeller Plumbers" organization on Github. — Parallax Forums

Idea: "Propeller Plumbers" organization on Github.

About a week ago, I started a thread in the Propeller 1 forum about which direction we're going when it comes to supporting Propeller developers. See https://forums.parallax.com/discussion/168321/migrating-from-propeller-tool-to-propelleride-or-simpleide.

What I learned from that thread (but actually already knew) is that there's just not enough coordination on the part of Parallax when it comes to supporting developers. Developers want to use a decent, stable Integrated Development Environment. But they also depend on good compilers and other tools such as downloaders. There are quite a few volunteers (let's call them "plumbers") who are willing to spend significant time to develop software to help other developers work with the Propeller and other Parallax products. But because Parallax is short on resources (for reasons unimportant to this thread), this just isn't happening:
  • There is no "go-to" location where one can find all the latest and greatest development tools. The places from where Parallax itself distributes developer tools are scattered across several different websites (shop, learn, developer).
  • Bugfixes and new features don't find their way to developers. Many tools are under development. Bugs are found and fixed, but if the Parallax web pages don't get updated, developers won't see the fixes.
  • Developers (including "plumbers") get increasingly frustrated. The users of the development tools aren't getting the best they can get, because they may be unaware that something better might be available, or because they don't have the time or resources to build their own tools. Meanwhile, "plumbers" feel that their work is going to waste because Parallax doesn't update download links.
  • Lack of coordination and integration. The number of places where various tools are integrated with each other (for example, compilers or downloaders that are integrated in IDEs), is increasing. That means that coordination is necessary between the "plumbers": when a bug gets fixed in a compiler, it should be possible to rebuild the IDEs that depend on that compiler, and create a release.

I'm concerned that the latest versions of several important development tools for the Propeller are not on the Parallax website. And I'm concerned to read in the other thread that plumbers feel that their effort is going to waste ("What's the point in working on something if it's not getting used?") and that there's an amount of scattering ("Since it's open source, it's everywhere") and even confusion (e.g. about which version of GCC is the "current" version). And lastly, I'm concerned about the loss of some good contributors that left projects in limbo, for whatever reasons.

The Github home of Parallaxinc would potentially be a good candidate to become the Place To Be for the latest software. But it's apparently not being maintained very well either (if at all). And access is strictly read-only outside Parallax as far as I can tell (it's impossible to see who is in the Parallax organization unless you're part of it).

The conclusion is: There's a need to get organized.

I created an organization at https://github.com/PropellerPlumbers. I forked my P1V repository into it too, and I created an Organization Website at https://propellerplumbers.github.io (at this time there's nothing in it yet, except for a simple "Hello" page). Organizations in Github are a way to bring groups of developers together to work on multiple projects.

The idea is to build this up as the single place where development software, the volunteers that work on them, and the developers that use them, come together. Everyone wins: Developers know where to go to get the Latest and Greatest tools, plumbers can keep an eye on what's going on (no more discussions about which GCC is the "current" one), and don't have to feel that what they do doesn't matter, and Parallax wins because the plumbers might regularly release updates that Parallax customers expect.

But this will only work if enough plumbers will join. I don't want to just fork everything from the Parallaxinc page into the PropellerPlumbers organization; the point is to put repositories into the organization that are actually maintained. If enough plumbers will join the "club" to create some critical mass, we can generate some gravity towards the place, and make things easier for everyone. It won't take much extra effort (as plumber you'll just have another remote repository to push to), and it will really benefit developers and other plumbers if we work together.

What do you guys think?

===Jac

«13

Comments

  • I'm ready to let the next generation of "plumbers" take over. I've become a consumer of the tools rather than a producer.
  • Heater.Heater. Posts: 21,230
    I think you are just confusing the issue further.

    Also, possibly, maybe, referring to all those smart guys that create Simple IDE, prop-gcc, OpenSpin, etc, as "Plumbers" might not go down well.


  • Clock LoopClock Loop Posts: 2,069
    edited 2018-04-10 21:40
    Heater. wrote: »
    as "Plumbers" might not go down well.

    Ive often compared electronic engineering or software engineering to plumbing, for many reasons.
    Not offensive at all, "joe plumbers" are who make the world go round, 4 real.



    I think heater is kinda right on this, it will confuse the issue, when in fact the only entity that can fix this problem is parallax.

    They either need to outsource or hire internally, the documentation and updating of links, programs, uploading the latest complied program, link to the latest versions etc.
    That is not getting done.

    So Parallax needs a documentation and software PR person.
    Someone who's job is to just find, fix and update and link all info on parallax's pages (product pages and support pages)

    Problem is, this IS a full time job that requires documentation knowledge, ability to compile many different languages and platforms, ability to do editing of webpages, editing of pdfs, and most of all this position would need authority to change links, documents, and info on parallax pages, products and resources.

    That would need to be an internal job at parallax, or someone that could be trusted with that responsibility.

    This person would also acquire documented permission to link tools, programs, example code, etc on parallax sale pages and support pages. (thats alot of work in its self)

    If parallax can't do it, the only way is right here in the forums.

    If a new sub-forum is created for "Parallax Product Support" which has a thread for each and every product parallax sells, these threads would be locked, and only new threads could be created/edited/added by parallax and authorized forumistas.
    Thats where all the UPDATED info could be found for products?

    But for this to work, parallax would then need to make a link to each products thread on the support and sale pages of the products.

    Some threads would get pretty big and full of info!

    Then when someone makes a program, tool, example, etc, that applies to the product, the dedicated product thread could be updated to have the links, attachments, description?

    That kinda accomplishes the goals here, and still keeps it in the parallax domain and control?
    But then just creates yet another subforum...

    But if the money to employ people to maintain this stuff cannot be found, the only option IS, to leave it to forum volunteers.

    Its a matter of deciding what is worse, lack of info/updated/fixed, or leaving things up to volunteers , which may, or may not get it done.
  • Clock LoopClock Loop Posts: 2,069
    edited 2018-04-10 22:20
    To give an example..

    The parallax ESP8266 WX device.
    https://www.parallax.com/product/32420s#downloads

    The dates on the downloads are old...

    Its firmware has had many enhancements, but the product page links, the old version, and so does the github version(odd) Even the github version isn't the latest compile(which contains the dns code to make the wx device show up, and contactable on your network as its given name)

    I have compiled the latest version and could have already uploaded it to a thread dedicated to the WX device, if it had existed. I could have done this the day the code was modified.


    v1.0 released on Nov 2, 2016 · 21 commits to master since this release

    I understand why the product ships without the latest version, but why there is no updated firmware code on github or on the parallax pages, I don't know, but I CAN provide the latest compiled firmware for this product.



    I ALSO could have already edited and fixed and uploaded a propeller manual version that has a few fixes that are pretty big.
    For instance, propeller manual v1.2 page 286 says the wrong description of the command.
    COGSTOP 
    Instruction:Start a cog by its ID. 
    

    OH REALLY?

    It also could use example code.

    I COULD have already fixed both of these issues, and uploaded a file to a dedicated wx esp8266 thread, it would have a link to the latest compiled firmware, and the propeller chip thread would have a link to an edited and fixed manual.

    It would be up to parallax authorities to "authorize and verify" all links and changes... and carry them into the sale/support pages, not just the dedicated forum threads..
    That also means a forum member GROUP of "PROPELLER PLUMBERS" would need to be established.
    786 x 909 - 214K
  • Heater. wrote: »
    I think you are just confusing the issue further.

    I see how you could think that (https://xkcd.com/927/) but I hope you agree the current situation is ummm... how should I say this tactfully... not so good.

    With my L-Star project I'm in a situation where I want to persuade (some) people to learn to program the Propeller to get more out of the hardware, and after more than five years of some very cool smart guys working at some very cool software, the only realistic choice is still to tell them they need to learn Spin and PASM, and use Propeller Tool under Windows. I'm sure I'm not the only one who thinks: We are so close to having some great tools, if only Parallax would do a release, or let one of us take care of it.
    Also, possibly, maybe, referring to all those smart guys that create Simple IDE, prop-gcc, OpenSpin, etc, as "Plumbers" might not go down well.

    I mean no disrespect. In case you don't know, there's a small but significant group of programmers that call themselves the Linux Kernel Plumbers who even have annual conferences. When I first heard of them, I knew instinctively what it meant: Everyone with a compiler and a console can write Linux programs or even drivers, but all of that code wouldn't work if there wouldn't be a big bunch of software "plumbing" to tie everything together. And Mario is a plumber too... :-)

    ===Jac
  • David BetzDavid Betz Posts: 14,511
    edited 2018-04-11 00:56
    With my L-Star project I'm in a situation where I want to persuade (some) people to learn to program the Propeller to get more out of the hardware, and after more than five years of some very cool smart guys working at some very cool software, the only realistic choice is still to tell them they need to learn Spin and PASM, and use Propeller Tool under Windows. I'm sure I'm not the only one who thinks: We are so close to having some great tools, if only Parallax would do a release, or let one of us take care of it.
    Isn't SimpleIDE useable for your purpose? Parallax themselves use it for education and they support it enough for that application. Or do you need a newer release of PropGCC?
  • Clock Loop wrote: »
    I think heater is kinda right on this, it will confuse the issue, when in fact the only entity that can fix this problem is parallax.

    I have no intention of telling Parallax what to do, but what developers expect from them (i.e. providing regular updates on tools, especially when they're broken or under heavy maintenance) isn't getting done. I think we agree on that.

    This is putting us (the volunteers) in a position where we want to help Parallax and the customers, but the one thing that's out of our control: generating releases, is blocking us. But I don't think Parallax is the only entity who can fix this.

    We can build our own releases. But as long as all the development tree are all over the web, no-one is going to find them. I think it's possible for us to work together and create a place (alternative to Parallax) where everything and everyone comes together. And if enough volunteers are interested in this idea, I think we can generate enough traction to do this.

    ===Jac
  • Clock Loop wrote: »
    I think heater is kinda right on this, it will confuse the issue, when in fact the only entity that can fix this problem is parallax.

    I have no intention of telling Parallax what to do, but what developers expect from them (i.e. providing regular updates on tools, especially when they're broken or under heavy maintenance) isn't getting done. I think we agree on that.

    This is putting us (the volunteers) in a position where we want to help Parallax and the customers, but the one thing that's out of our control: generating releases, is blocking us. But I don't think Parallax is the only entity who can fix this.

    We can build our own releases. But as long as all the development tree are all over the web, no-one is going to find them. I think it's possible for us to work together and create a place (alternative to Parallax) where everything and everyone comes together. And if enough volunteers are interested in this idea, I think we can generate enough traction to do this.

    ===Jac
    It's possible that Parallax might be willing to have outside people adopt some of the projects like PropellerIDE. Roy is already maintaining OpenSpin on the Parallax GitHub account and I'm maintaining the WX wi-fi firmware. The main problem with PropellerIDE as I see it is that I think Parallax is still hoping that Brett will come back and resume work on it so I'm not sure they're ready to hand it off to someone else. I'm pretty sure they want to keep SimpleIDE in house though.
  • Clock Loop wrote: »
    (The ESP8266 WX) firmware has had many enhancements, but the product page links, the old version, and so does the github version(odd) Even the github version isn't the latest compile(which contains the dns code to make the wx device show up, and contactable on your network as its given name)

    But if you or someone else forks the Github version, you can update it without help from Parallax. It will just be in a different location. But again, if there's enough traction, we will get into a situation where someone intuitively knows that they should ignore links to the Parallax repo and go to the same repo in the PropellerPlumbers home.

    Whenever someone asks in the forums about why feature XYZ doesn't work in software XYZZY, someone else can answer that the bug has been fixed in the PropellerPlumbers website. And it's possible to write links in such a way that they will still work after we release a new version.
    It would be up to parallax authorities to "authorize and verify" all links and changes... and carry them into the sale/support pages, not just the dedicated forum threads..
    That also means a forum member GROUP of "PROPELLER PLUMBERS" would need to be established.

    I hope eventually Parallax might want to join us, and officially support this way of working (I already explained that it benefits them. We're basically a cheap labor force). They might change the links on their websites and/or they might decide to take control of the organization. But from past experience, I kinda expect them to do it their own way. Unfortunately right now, nothing is happening and we're all getting frustrated about that, and doing a little bit is better than just throwing our hands up in the air and waiting for Parallax to return to the table.

    ===Jac

  • One reason Parallax doesn't just adopt every release of every one of the tools immediately is that their education program is heavily dependent on things like SimpleIDE and PropGCC and they don't really have the resources to retest all of their educational code every time a new release is generated. I think this is the main reason that the version of PropGCC hasn't been updated in SimpleIDE. I'm not sure what can be done about that.
  • David Betz wrote: »
    Isn't SimpleIDE useable for your purpose? Parallax themselves use it for education and they support it enough for that application. Or do you need a newer release of PropGCC?

    For my specific purpose, I can (and probably will) use SimpleIDE. But as far as I know, there's no "official" download that has the latest GCC integrated. I would have to find the latest version which might be anywhere, so I'd have to ask in the forums where it is, and there might be some discussion about what the right answer is to that question.

    But that's not the point, I'm not doing this for me, I'm doing this for developers who want to use SimpleIDE and find out that what they can download from Parallax is ages old. I'm doing this for volunteers who are concerned about not reaching their target audience.

    ===Jac
  • David Betz wrote: »
    Isn't SimpleIDE useable for your purpose? Parallax themselves use it for education and they support it enough for that application. Or do you need a newer release of PropGCC?

    For my specific purpose, I can (and probably will) use SimpleIDE. But as far as I know, there's no "official" download that has the latest GCC integrated. I would have to find the latest version which might be anywhere, so I'd have to ask in the forums where it is, and there might be some discussion about what the right answer is to that question.

    But that's not the point, I'm not doing this for me, I'm doing this for developers who want to use SimpleIDE and find out that what they can download from Parallax is ages old. I'm doing this for volunteers who are concerned about not reaching their target audience.

    ===Jac
    I would recommend using the official Parallax release from their web site unless it won't handle whatever you're doing. Yes, there are newer versions but the version that is included in SimpleIDE is pretty stable. Parallax uses it themselves with SimpleIDE and BlocklyProp.

  • David Betz wrote: »
    It's possible that Parallax might be willing to have outside people adopt some of the projects like PropellerIDE. Roy is already maintaining OpenSpin on the Parallax GitHub account and I'm maintaining the WX wi-fi firmware. The main problem with PropellerIDE as I see it is that I think Parallax is still hoping that Brett will come back and resume work on it so I'm not sure they're ready to hand it off to someone else. I'm pretty sure they want to keep SimpleIDE in house though.

    If that's what they want, that would be great! But I've been dropping hints for a long time that I wouldn't mind maintaining P1V, and all I get is crickets.

    Again, I'm not seeing this as taking something away from Parallax, or getting in their way. I don't even want to judge them. I'm seeing it as taking the initiative to provide a service to developers that Parallax is (probably) unable or (less likely) unwilling to provide at this time.

    ===Jac
  • David Betz wrote: »
    It's possible that Parallax might be willing to have outside people adopt some of the projects like PropellerIDE. Roy is already maintaining OpenSpin on the Parallax GitHub account and I'm maintaining the WX wi-fi firmware. The main problem with PropellerIDE as I see it is that I think Parallax is still hoping that Brett will come back and resume work on it so I'm not sure they're ready to hand it off to someone else. I'm pretty sure they want to keep SimpleIDE in house though.

    If that's what they want, that would be great! But I've been dropping hints for a long time that I wouldn't mind maintaining P1V, and all I get is crickets.
    That's certainly frustrating. I suspect Chip would have to approve anything having to do with P1v and he's probably too busy to even think about it with all of his work on P2. He's pretty much doing that all on his own as far as I can tell.

    Again, I'm not seeing this as taking something away from Parallax, or getting in their way. I don't even want to judge them. I'm seeing it as taking the initiative to provide a service to developers that Parallax is (probably) unable or (less likely) unwilling to provide at this time.

    ===Jac
    You're certainly welcome to create forks of these repositories and maintain them on your plumbers site. If I were to get back involved with Parallax tools though I'd want my efforts to be supported by Parallax. I don't necessarily mean that they would have to pay me. I just mean that they would endorse the resulting tools and make them available on their web site.
  • David Betz wrote: »
    One reason Parallax doesn't just adopt every release of every one of the tools immediately is that their education program is heavily dependent on things like SimpleIDE and PropGCC and they don't really have the resources to retest all of their educational code every time a new release is generated. I think this is the main reason that the version of PropGCC hasn't been updated in SimpleIDE. I'm not sure what can be done about that.

    I understand that it's important to not make tools a moving target especially when dealing with education. But it's not too hard to differentiate between "stable" releases (which are tested thoroughly, and for which someone has to go through all the documentation to check if everything still checks out), and "cutting edge" releases (e.g. automatic nightly builds or handmade releases that solve a specific problem).

    The most important problem when it comes to this, is keeping the documentation up to date. Screenshots, command lines, sample code... But maybe eventually the documentation can also be stored in the same place and maintained there, and then I see nothing but advantages. Oh well, so much for the Far Unlikely Future.

    ===Jac
  • David Betz wrote: »
    You're certainly welcome to create forks of these repositories and maintain them on your plumbers site. If I were to get back involved with Parallax tools though I'd want my efforts to be supported by Parallax. I don't necessarily mean that they would have to pay me. I just mean that they would endorse the resulting tools and make them available on their web site.
    I agree with David on this. Parallax should be in control of the development tools that are used with their products. A user should be able to go to the Parallax site and download the tools from there. Having yet another repository for the source just creates yet another version of the tools. Somehow we need to convey to Parallax the need that the user community has for good solid development tools. Parallax does a great job with customer support, but they really need to spend some effort on the development tools also.

  • David Betz wrote: »
    That's certainly frustrating. I suspect Chip would have to approve anything having to do with P1v and he's probably too busy to even think about it with all of his work on P2. He's pretty much doing that all on his own as far as I can tell.

    I certainly understand. Even if the only thing that Parallax would do is oversee the trusted posse of developers that would have write-access to their repositories, it would still take time and money to do so, even if no-one is expecting a monetary reward (I certainly don't).
    You're certainly welcome to create forks of these repositories and maintain them on your plumbers site. If I were to get back involved with Parallax tools though I'd want my efforts to be supported by Parallax.

    If it's just my site, it won't be a site at all. A place intended for everyone to come together has no meaning if no-one (or only 1 person) shows up.

    Sure, I'd like for all of our great tools to be supported by Parallax, but let's face it, they don't have the resources to do so right now. So let's lower the bar a bit and at least aim for the support of the users.

    ===Jac
  • Dave Hein wrote: »
    Somehow we need to convey to Parallax the need that the user community has for good solid development tools. Parallax does a great job with customer support, but they really need to spend some effort on the development tools also.

    I see I'm getting no traction with this at all. Oh well. I hope someone at Parallax reads this thread anyway.

    ===Jac
  • Dave Hein wrote: »
    Somehow we need to convey to Parallax the need that the user community has for good solid development tools. Parallax does a great job with customer support, but they really need to spend some effort on the development tools also.

    I see I'm getting no traction with this at all. Oh well. I hope someone at Parallax reads this thread anyway.

    ===Jac
    It is probably a good idea but maybe there isn't a critical mass of developers here to support it anymore. Lots of the key people have drifted away.

  • I'm certainly willing to add any parallax related repo to my build server. That can help distribute the latest whatever without duplicating source repos. Just point me at the repo (and build instructions if not included) and I'll add it
  • Seems like some of the continuous integration services like Travis, CircleCI, or even Appveyor might be nice to have running against the repos. Jac, I really like the idea. It'd be nice if the community more fully embraced automated deploy/docs and less manual intervention would be involved from Parallax or any volunteers. That being said, I know it is not a trivial task to get that setup and automated systems still require attention.
  • DavidZemonDavidZemon Posts: 2,973
    edited 2018-04-11 19:25
    geo_leeman wrote: »
    Seems like some of the continuous integration services like Travis, CircleCI, or even Appveyor might be nice to have running against the repos. Jac, I really like the idea. It'd be nice if the community more fully embraced automated deploy/docs and less manual intervention would be involved from Parallax or any volunteers. That being said, I know it is not a trivial task to get that setup and automated systems still require attention.

    Geo,

    Please see http://david.zemon.name:8111?guest=1 and tell me what repos you'd like added :)
  • DavidZemon wrote: »
    geo_leeman wrote: »
    Seems like some of the continuous integration services like Travis, CircleCI, or even Appveyor might be nice to have running against the repos. Jac, I really like the idea. It'd be nice if the community more fully embraced automated deploy/docs and less manual intervention would be involved from Parallax or any volunteers. That being said, I know it is not a trivial task to get that setup and automated systems still require attention.

    Geo,

    Please see http://david.zemon.name:8111?guest=1 and tell me what repos you'd like added :)
    Nice! I didn't know that was around. Can/do PR's run as well?
  • geo_leeman wrote: »
    DavidZemon wrote: »
    geo_leeman wrote: »
    Seems like some of the continuous integration services like Travis, CircleCI, or even Appveyor might be nice to have running against the repos. Jac, I really like the idea. It'd be nice if the community more fully embraced automated deploy/docs and less manual intervention would be involved from Parallax or any volunteers. That being said, I know it is not a trivial task to get that setup and automated systems still require attention.

    Geo,

    Please see http://david.zemon.name:8111?guest=1 and tell me what repos you'd like added :)
    Nice! I didn't know that was around. Can/do PR's run as well?

    Can: yes. Do: no.
    I only recently figured out how to make that happen at work with BitBucket and haven't implemented it yet for any of the Parallax repos.

  • DavidZemon wrote: »
    geo_leeman wrote: »
    DavidZemon wrote: »
    geo_leeman wrote: »
    Seems like some of the continuous integration services like Travis, CircleCI, or even Appveyor might be nice to have running against the repos. Jac, I really like the idea. It'd be nice if the community more fully embraced automated deploy/docs and less manual intervention would be involved from Parallax or any volunteers. That being said, I know it is not a trivial task to get that setup and automated systems still require attention.

    Geo,

    Please see http://david.zemon.name:8111?guest=1 and tell me what repos you'd like added :)
    Nice! I didn't know that was around. Can/do PR's run as well?

    Can: yes. Do: no.
    I only recently figured out how to make that happen at work with BitBucket and haven't implemented it yet for any of the Parallax repos.
    I guess this is a dumb question but what are PR's?

  • Heater.Heater. Posts: 21,230
    I guess "PR" = Pull Request.

    Thing is, if your project is in a git repository then that can be cloned and hacked by anyone who has access to it. Essentially a "fork" of the code base.

    But then they can ask the owner of the original repository to "pull" any changes back into there. Those changes then get merged with the original "up stream" code base.

    This is really easy to do with git repos in github. Kind of natural. I have no idea how one does it from git repos in bitbucket.
  • Right - pull requests are requests to merge code from your fork (often from a branch on your fork) into another repo. Really slick workflow once you get your head around it. The amount of hooks into GitHub are also stunning. For example, I use hooks to run my test suite (for python mostly) on Mac, Windows, and Linux, as well as lint the code, doc check, link check, etc. before any deploy steps can happen. Helps reduce the fear of shipping/merging broken things.
  • Heater. wrote: »
    I guess "PR" = Pull Request.

    Thing is, if your project is in a git repository then that can be cloned and hacked by anyone who has access to it. Essentially a "fork" of the code base.

    But then they can ask the owner of the original repository to "pull" any changes back into there. Those changes then get merged with the original "up stream" code base.

    This is really easy to do with git repos in github. Kind of natural. I have no idea how one does it from git repos in bitbucket.
    Ah, okay. That makes sense. I hadn't heard the "PR" abbreviation used before.
  • heater wrote:
    ... "Plumbers" might not go down well.
    Uh, yeah. I'm old enough to remember Nixon's "plumbers." :)

    -Phil
Sign In or Register to comment.