Home Creators Posts Import Register Favorites Logout

Content

Not exactly the pinnacle of utility...

As I mentioned at the veeeeery end of my haircut robot video, one of my new years resolutions is to make a portion of my projects about things that are actually useful. My thinking is that if I can find the right project I could double dip - create an entertaining video and make progress on a project that actually matters. I'm pumped about the idea because I get a lot of joy out of making useful things for people.

Of course I am only one man, and there are limits on how much progress I can make without devoting years of my life to a single project. Because I'm not really good at the whole devoting years of my life thing, my plan is to make a proof of concept and then open source the results. Anyone who is interested could then build on top of it or pull useful pieces from it. Even if what I made was crap it may inspire more people to put time into the project, which I would still consider a win. 

I'm starting to put more thought and planning into this, and I have a few things that I want to throw out there and get your input on:

1.The logistics of open sourcing and managing a project is something I have no experience with. If you have any experience in this area I'd love to hear any advice. You can send me a message on patreon or discord.

2. Unless I am targeting a problem that I have direct experience with it's important that I not do this in a vacuum. If you are connected to a person or group of people that has a problem I'd love to hear about it. I'm trying to get input before and during the project (and of course people who could test the output). With that input the project is much more likely to hit the mark.

3. Open sourcing and managing the project is going to be a lot of work. This has been my main hang up as I've thought about actually doing this. If this is something you're passionate about and might be interested in contributing to or managing let me know (I know it's hard without a concrete project - I'm just not there yet but will share more details as I progress). I'm really not a good project manager so the right passionate person may be the key to a project getting to the next stage. 

This is all very early, and I don't want to get ahead of myself. I would guess any project I take on has much higher odds of being a failure than turning into anything truly impactful but want to do everything I can to boost the odds. Let me know your thoughts on the above and if you have any other thoughts or advice on this endeavor. 

As always, thanks for being patrons. The money helps with the projects but your advice and knowledge is also very useful. This is a pretty incredible group of people so thanks for that too! 

- Shane

Files

Comments

Aubron Wood

Case study in open source project workflows: James Bruton, another YouTuber in the robotics camp. I’ve never tried to use one of his designs, so his infrastructure might be crap, but he comes to mind as someone to mooch ideas off in terms of open source YouTube projects.

Louisa Lu

sorry for this stupid question, I just joined this after following your hair cut video (if you want to do the haircut on a woman hair.. i will be more than happy to be the Guinea pig.. but most importantly, what is the discord channel name.. somehow i am not able to find that info anywhere

Devin M Pace

I’d love to help out with this endeavor, whether helping to manage open source stuff, or whatever. I think it’d be fun to be involved in this! I’d imagine GitHub out something similar would be a great place to host the stuff you’d like to share.

NotMyRealName

So the bar for open sourcing anything is super low. 'git push remote ...' is about all you need. But if you want anybody to be able to pick it up and move it forward, it must be organized and documented. The better documented, the easier it is to get going and the more accessible it is. Note, better documented != more documentation. For software, this usually looks like a "here's every command you need to run to get the dev tools and build/test env and run hello world". For hardware, it can be an itemized BOM that's categorized by assembly or component and a few technical drawings or schematics A few well thought-out lines at the top of each file can go a *long* way towards helping somebody grock what part of the problem is addressed in that file and a few more lines to hopefully clue the reader into how you're addressing the problem, too.

Chris L

https://git-scm.com/book/en/v2 Is a pretty good series of short articles on using Git. I was surprised when you said you has lost some of your code in one of your videos. Source control through Git is very easy, and makes sure things like that don't happen.

Casey Handmer

In general, open sourcing hardware is a bit more challenging than software alone. But dumping your source code, cad drawings, tool paths, whatever into a big directory and putting it up on git is a good start. If you find that people like building on it, you can encourage them to make "pull requests" with updated/improved/corrected material. You may want to be careful about putting up designs for the sort of stuff that makes good TV (explosions etc) due to irresponsible people hurting themselves. I would start with minimal commitment and time, essentially nothing more than making some of your version control public. Then evolve the process if/when collaborators appear and ask you to.

stuffmadehere

That's a good tip, thanks. Looks like he's mostly just dropping a folder of CAD and a folder of code on github. I'll have to ping him to see what the support burden is. That's what I'm most concerned about

stuffmadehere

I've used git and github professionally for years which makes the fact that I lost my source even more embarrassing. I had a local repo but I didn't have it pushed to github - they used to charge for private repos so I never got in the habit of pushing to github... lets say I no longer have that problem

stuffmadehere

That makes sense. Though what I'm afraid of is a chicken and egg effect - if the stuff is inscrutable then people are less likely jump on board. What is the absolute minimum needed to help people be productive with it... The tips from Karl about documentation seem to be the key. Thanks for the advice :)

stuffmadehere

This is excellent advice and what you're saying about documentation being key makes total sense to me. Thank you!

Chris L

Glad to hear! I've been hosting my own instance of GitTea for private repos. But I think GitHub doesn't charge for private now?

stuffmadehere

Cool! I'll have a better idea if concrete ways to help as things progress. I'll be posting more as I make progress with any asks but of course feel free to hit me up as well

NotMyRealName

I probably should have included this link in the original post, but this is a good perspective on how to manage complicated many component assemblies for projects that involve multiple people. Probably a little bit over engineered for the scope you're targeting, but some of the advice is usable for projects of a smaller scope. https://youtu.be/zVyEsMiwvVc If you were to generalize my original post, it would probably go a little bit like this : "imagine somebody who has the curiosity, most of the passion and some of the skills required to continue the work but they've only just found your GitHub repo through a casual Google search and have no idea where to begin". They'll have questions about what the complete and final vision is, what's been done, what works, what's left to do, where to get started next and probably eager to learn where they can make their desired modifications along the way. if you assume that their odds of success are dependent upon a good experience, then it follows that the odds of them finding a good entry point and having a good experience navigating from there will be _the_ dominant factor in their success and the legacy of your combined work. you don't have to have tones of documentation, you just have to have a decent scaffolding that allows a curious and smart person to quickly get their bearings and go from there. A few dozen sentences in a couple of read me files can absolutely be enough when combined with a little bit of documentation in the code or a few lightly marked up screenshots from the e/m CAD files. if the project really does become a massive hit and gets very successful, then you can issue the call for an army of supporters to help you build up your documentation in the form of a wiki or something like that. "Rome wasn't built in a day, but the first bits had to be well thought out so the next bits could be put down by anybody"

CuthbertAllgood

You mentioned developing better habits around using Git, but Git is a version control system, not a backup strategy. There is a lot of metadata that isn't appropriate for a repository, along with things like certificates, passwords, databases, build metadata, documentation, on and on. You should use a full-system backup to ensure everything is backed up. I like Backblaze online backup. You install it and it "just works" automatically and continuously at keeping a system backup with back-in-time change history and file recovery. And you don't have to remember to do it. Backblaze is like $6/month per computer. There's no excuse not to have a much better, comprehensive "real" backup strategy.

Jack Chartres

Perhaps you could take some inspiration from BCN3D who open source their 3D printers on github. They have individual repositories for Mechanics, Hardware, Firmware etc. for each printer. https://github.com/BCN3D

Andrew Ferguson

As you sort of identified, I think part of the trick is finding "trusted agents"/moderators to help review, triage, approve, etc. Personally, I'd love to help out, but I also have a kiddo (who looks to be similar in age to yours) and time has magically vanished (apparently you just don't sleep at all...otherwise I'm not sure how you do it).