Module developers: where are you hosting your source?

The big name modules are all in the Gadgeteer source tree. What about all the smaller ones? Should they be there as well?

If not, are you spinning up new CodePlex or GitHub sites to host them?

I’m trying to figure out where to put the module source in order to keep it OSS and encourage contribution by people who may not currently have rights in the Gadgeteer codeplex repository.


@ Pete - I’ve been pondering what to do about this, as well. One area that needs clarification: the current documented namespace conventions assume the module creator is a manufacturer, which I take to mean “volume producer”. I anticipate seeing a lot of specialized small run batches from individuals who do not fit the “big name” mold. Do we even need a namespace standard?

We (small guys) should carve out some kind of organized way of sharing our code. This might be as simple as a page on the Wiki with links to everything (which we have). It does seem nuts to have a multitude of different codeplex/github/google/whatever source control sites. Does it need to be more standardized? Contrary to the first sentence in this paragraph, I’m not sure the answer is yes.

Some guidance from MS Research would be a good starting point. However, their public involvement in forums like this seems (to me) to be almost nonexistent. Maybe a fellow MSer could motivate them to put forth their thoughts :wink:

I look forward to hearing what others here think.

We have code site. I am planning on putting mine there.

The XBee module driver is currently developed on codeplex:

But we don’t know what will be next. Will the source code be included in main Gadgeteer repo? merged with it each time we make a release? Will the namespace remain .GHIElectronics. even though this is a community effort? Too many questions :wink:

I disagree. How is this different than any other open source projects we may be using in our software projects. As long as we have a directory of sorts (Wiki page) where we know how to get the code then that’s sufficient. Standards are overrated… The code site is handy for quick code snippets but I don’t think very friendly for this purpose where a true source control system such as Git or Codeplex is much easier for the developer to keep up-to-date with current development progress.

@ Pete et. al.

Ideally, I think it would be cool to have all drivers be part of the Gadgeteer codeplex repository so that anyone browsing that code can find any driver they’re looking for.

Of course, that is something that the Gadgeteer team would have to be OK with, and for those of us inside Microsoft there may be some additional hoops to jump through (don’t ask :)). But I think there’s a potentially big advantage to keeping everything under one roof, so to speak.

Which is not to say that I think it should be required, mind you. Just that I think it would make sense. To me, anyway. I could be nuts. :wink:

So, to add a little to this.

I’m not sure how many of you are targeting more than just Gadgeteer. I really like Gadgeteer, but I’m more interested in NETMF in general.

So my code will have most of the source shared between, say, a Gadgeteer implementation and a regular FEZ domino implementation and the Gadgeteer implementation. This would quickly pollute the Gadgeteer site. As best as I can tell, even GHI only posts the Gadgeteer-specific updates to the Gadgeteer site, they have lots of other code out there that’s not on that site.

I’m starting to lean towards kicking up my own Codeplex “Pete’s NETMF SDK” site which contains installers with all versions. It’ll get even more complex as some of those bits move to NETMF 4.2 and some stay on 4.1.

To the question of manufacturer name: I’ve always used “PeteBrown” in namespace naming standards. Unless you guys have your own company, you should do something similar. Don’t put “GHI” or any other company in there unless they’re the ones doing the driver.

Agreed that whatever you do, it should be linked to on the wiki to be more discoverable. Maybe even the Gadgeteer codeplex site could point to that Wiki for other out-of-band modules.

@ devhammer: Just keep it under 1000 lines and life is much simpler :slight_smile: