Opensource Hardware Projects should be able to be studied, modified, distributed, made and sold freely. As such, for Thingiverse to help OSH Communities host their Projects, the Thing page as we know shows limitations.
A number of fields should be available for OSH Projects on Thingiverse:
- Project description
- Documentation (including instructions for manufacturing)
- Bill of Materials
- List of files:
- Not just the classic stl we expect to find on thingiverse, but also different file types, including non 3D file types, e.g. software or electronics
- Source files (whether for opensource software, e.g. FreeCAD .fcstd, or proprietary, e.g. Fusion .f3d) to make it easier for anyone to modify the Project
- Licenses (including different licenses for different types of content associated with the Project, e.g. a specific opensource hardware license for the hardware part of the project and a specific opensource software license for the software part of the project)
Also, many Opensource Hardware Projects are also developed publicly, not simply released after being developed privately. As such, version control/history should appear on the project, as a way for collaborators to work together on developing the Project.
These Project pages should also focus on the people collaborating on making these Projects come to life, hence listing the collaborators and their contributions should be part of the Project page.
In order to create allow these Opensource Hardware Projects to come to life, other features like communication or links to manufacturers can also come in handy. We ambition to help these Projects come to life, so connecting Projects with the Merchants on Thingiverse will be key to get the Projects manufactured.
Thing pages currently show remixes (forks), but the concept of a pull request would need to be added to Projects, to allow contributors to add to the Project.
What fields/features would you like to see?
1 Like
How would we handle pull requests? In a lot of cases the data is binary, and there isn’t a way to properly handle merge conflicts.
The current implementation of forks only shows that it was, at a point in time, a fork. But that means that very important context (eg; when did the fork happen) is gone. Furthermore, you would also want to see multiple “forks” deep. Right now you can’t get like a graph where you can see deeper than one remix.
The version control / history isn’t just for working together. It’s also there to actually show to people that a new version of something is out there. So having a built in way to have changelogs (eg; “I released V2 where i fixed the backets braking off”) is already a great solution, especially if it is linked to specific files (eg; That way you can download the v1 and v2 files, potentially even see what was changed). So in that sense, I’d argue that having different releases is more important than a full blown version control.
Software version control is also something I would never do on thingiverse. Instead, i’d just host them on github/gitlab and just link them (as is also the common way of doing it for everyone). Come think of it, the way that they handle releases is actually really good.
One thing that may help organize open source project without requiring too much changes to the website would be to add a page with remix trees.
I imagine it like an inverted family tree with the original model on top and all the remixes shown bellow. It would be doable with the current information available on the platform and if you just add a mandatory field at upload like “quick description of the modification compared to the original” you could add this information to the tree. It would help peoples interested in the model to have an overview of what has been developed.
For some models with a lot of remix that would be valuable.
1 Like
For inspiration, do you have examples in mind of platforms that might do this nicely (maybe for physical objects)?
I beleive Sourcetrail on github could be a nice inspiration, except it would need to be a integrated part of thingiverse with a direct link from the source object or any remix.
2 Likes
Thanks, will check it out