What's with all of the code and CAD releases over the last couple of weeks?

You know we actually got this rule early this year, right?



To dogpile with OP - Post your stuff. It’s fun!

The only thing better than seeing awesome things that people do is hearing them explain their awesome thing with great excitement!


Right you are, Marshall. I’d forgotten that was included in the 2020 rules preflight document.

1 Like

Thanks for posting the rules link, and the encouragement to share.
Would it be sensible to have designated threads in Programming / Design sub-forums to gather all the various published code and cad?

eta: found one in the general forum - Making code and designs public

We’ve tried having designated threads in the past to little effect. I suppose we could have a dedicated category, but it would require some aggressive moderation to be effective.

I spent a little time collecting posts in this thread: Making Code and Designs Public for 2020 season
A category for code-2019 / cad-2019 may help too. Gentle nudges in the right direction!


Just making sure; as long as your code is public on Github, it should be legal for reuse, no?

1 Like


1 Like

Not sure if it’s clear, but you do need to publicize the existence of the public repo. A repo that no one knows about clearly doesn’t meet the intent of the rule. Many people do that by making a post here with a link.

1 Like

It looks like their GitHub is linked on their TBA page, which I would consider reasonably easy to find if someone else were to go looking for their code.


There is another reason to post. And for us its that we are strong believers in open source. Our code has been on GiThub for IDK how long - good and bad and our designs used to be on our web page but due to the 3DP explosion of file size and number of cad files are now on grab cad. We would love to collaborate on stuff and have received some small inputs and suggestions/alterations here and there. So long live Open Source

Oh forgot one thing - with open source if/when you use it - don’t forget to give credit where credit is due

1 Like

Your definition of little is different than mine. Thank you still!

FWIW, scripting the operation is possible.

Citation needed.


For better or worse, rules are legislated on the letter of the rule, not the intent. Unfortunately for this specific rule, it doesn’t really have teeth with it’s current wording due to the aforementioned loophole.


Shout-out to @bobbysq for pointing me to this gem (page 4 of the 2019 game manual and R16). More teeth indeed needed to capture intent of this rule (perhaps good feedback for 2021):

1 Like

This, I believe, is the correct answer. No matter what we think the intent of the rule is or is not, as long as you can successfully defend a claim of “available publicly” to any robot inspector, you’ve met the requirement.

The spirit of the rule implies “don’t hoard knowledge, share it with others”. Combined with a culture of gracious professionalism, the end result is that a team will likely share their code in multiple formats, making it not just “available publicly”, but also readily accessible and well-publicized and easy to understand.

It’s hard to nail down what the actual, concrete requirement is. As has been well discussed on CD - the rulebook definition of publicly available does not enforce teams release content in a meaningful way. It gets into the meaning of the word “available” - does available imply some level of usability? If so, what is that level? Is it the same for source code and CAD (probably not)? OR, can we trust GP will prevail and take the I know it when I see it approach, specifically saying everyone gets to be certain in their own opinion and that’s ok since GP guides us toward the same goal?


Most teams don’t think it’s entertaining to have a linguistics debate with a LRI about the meaning of “available publicly” – they want practical advice they can act on.

That’s why my advice on this is crystal clear. If you wish to demonstrate in a conclusive way that you made the code/designs public before kickoff, my suggestion is that you post a link here, include a link on your TBA page, or have a prominent link on your team’s website.


this comment is an editable WIKI now, so please add a row for your team’s public info.

Link to a code release announcement, the code location, and cad location too.

1 Like

There is really no debate to be had and no interpretation to be done. If FIRST wanted teams to announce publication of the design, the rule would have said “… publicly announced and available prior to Kickoff.” If we can’t trust inspectors to “avoid interpreting the text based on assumptions about intent …” then we have a different problem.


I’m curious about who you think interprets the word “available” in the context of the rules at a competition? What if two teams disagree about the meaning of that word?

1 Like