I’m recommending creating an off-forum site to place a repository for sharable user custom C++ and Verilog Blocks.
All contributions would be free to all who wish to use them. This can be for public, private, commercial or non-commercial use.
There are many goals to this effort.
One is to share Intellectual Property freely to aid in the designs of those who use it.
It can also be used as a “learn-by-example” since source code must be included.
Improvements to existing IP can be made and shared.
Not the least of which, helping to make QSpice the world-class tool that users prefer to use because it makes their job easier. (And hopefully more fun as well.)
Let me start off a small list of recommendations:
- Free GNU-like license where code for the blocks are shared freely with no restrictions. (As stated above.)
- Contributions should be placed in a revision-control system. This is will allow for revisions to be cataloged to allow bug fixes and feature enhancements. GitHub is a possible suggestion.
- A tutorial section should be included to aid in proper methods to code these blocks and/or tricks used to achieve ‘marvelous’ results.
If you believe you have an recommendation please post it on this thread.
Once we establish a good structure for this sharable space, I’m also looking for someone with experience to moderate and maintain the space.
I have no experience in this type of effort and for other reasons would not be a good candidate.
However, I feel qualified enough to be a member of a small board of volunteers to keep the site viable and interesting.
Any other ideas or suggestions?
I agree that we need something to make it easier for users to share and to find useful community contributions. Some random thoughts:
This need not be limited to C-Block and Verilog code. It could include useful symbols, sub-circuits, etc.
It could be as simple as a specific forum thread where folks could post links to their stuff. As links are posted, they could be edited into the first post on that thread. Someone would have to keep it up but that might be less onerous than maintaining a site/repository that directly hosts the code.
Qorvo has a small GitHub presence; the PyQSPICE repo is there. If a full-fledged repository approach is needed, perhaps Qorvo’s GitHub could host it. If we had volunteers to help maintain the repo (i.e., handle merge requests and such), they can be authorized to do so. @Jeff_Strang do you think that is a possibility?
A more ambitious approach would be something like the LtWiki where all of the above plus tutorials and other non-code topics are available. More ambition == more complicated, of course, and would require more of someone’s time.
Of the above, a consolidated list of links is, of course, seems easiest. It also allows each “owner” to maintain control of his own code and doesn’t require a single license to be used for all contributions.
OTOH, it does require that contributors have a place to put their shared stuff. GitHub is free and easy but maybe not ideal for folk that aren’t familiar with source code version control tools. (If someone wants to share symbols/subcircuits, well, they might not write code at all and, so, might never have used such tools.)
I suppose that I could set up a QSpice-Community repo on my GitHub account and we could give it a try. Once a better solution comes along, we could move the repo contents there. It’s just a possibility and I’d like to hear from others on this topic before going down that road.
Bottom line: I’m willing to help if we figure out what to do.
Thanks for all your recommendations.
Maybe Jeff can weigh-in on what would be a best approach for the tool.
For example, adding a link in QSpice to direct users to user created content (such as a QSpicewiki) might be useful and embedded to make it easy to find this content.
It might be a better approach to have a stable link to the content site. If the link is embedded in QSpice, if the link changes for any reason, an update to QSpice could point to the new link location. Not perfect but better than nothing.
I agree with you. This user content site should not be limited to C- and Verilog- blocks. Tutorials, symbols, sub-circuits, and other unique content should probably have their own sub-group directories.
Great idea. Thanks for suggesting this. I would certainly make use of it.
We are keenly aware of the need for a way to host code, schematics, etc. I admit it should already be done. I hope to have some progress on it very soon, like before the end of December. The forum software is 100% capable of doing this; we are engaging an expert to get it implemented.