The Legality of WPILib in 2020

I am using this thread to complain about unclear rules. Obviously FIRST is not intending to ban WPILib

.

The most recent preseason rules update posted on the FRC Blog, 12/5/19 by Frank Merrick requiring software used on the robot to follow BOM and cost accounting rules has brought up some questions as to the legality of WPILib for the 2020 season.

The general consensus in threads, especially from WPILib contributors, has been that the FMV of free-to-use code (like WPILib) is 0$. At first, I agreed with this analysis, but after doing a bit more reading of the rules I discovered some interesting lines that lead me to believe the 12/5 team update accidentally bans WPILib for 2020.

I posted about it twice in the Team Update thread, but it was buried somewhat by discussion and memery relating to other implications of this rule change. I wanted to make a dedicated thread to make my analysis clear and to raise some questions about interpretations of the rules, so here goes:

(One important note: for this analysis I am going to make the assumption that 2019’s R14 will return this year as 2020’s R13 with similar text, given the omission of an R13 in the preseason rules and the shift in rule numbers from 2019. I will refer to 2019 R14 as R13, since I am making this assumption.)

Cost accounting for COTS parts is fairly simple: R13’s blue box (2019 R14, see above) says that “The Fair Market Value of a COTS part is its price defined by a VENDOR.” That price can change over time, and you are allowed to use the lowest price available from a VENDOR at the time of purchase, per past Q&A and the current interpretation of the rules.

Unfortunately, I don’t believe that WPILib is considered a COTS item. COTS in 2019 was defined as “Commercial off the Shelf, a standard (i.e. not custom order) part commonly available from a VENDOR for all teams for purchase,” and a VENDOR was defined as “a legitimate business source for COTS items that satisfies all the criteria listed in the Robot Construction Rules’ Overview section.”

According to those definitions, WPILib is not a COTS part. Arguably it is provided by a VENDOR (GitHub qualifies as a vendor even if WPILib contributors do not), but it is in no way purchasable from a VENDOR.

I think it would be a pretty large stretch of the word “purchase” to suggest that those two things are equivalent. The lollipops on your bank counter that are provided gratis would not be considered a purchase and are in no way afforded the same protections as a purchase. A coupon for a free item that rings up on a register at the grocery store (even in an order with a 0$ balance) is afforded the same protections as a purchase.

The core basis for this thread is the answer to @GeeTwo’s question. If you don’t agree with my opinion on the answer, this entire thread is a bit of a moot point.

Regardless, continuing with the assumption that WPILib is not a COTS item, the FMV for a non-COTS item is defined by the non-blue-box portion of R13 (again, 2019 R14, see above). The text for R13 is as follows:

The BOM cost of each non-KOP item must be calculated based on the unit Fair Market Value for the material and/or labor, except for labor provided by team members (including sponsor employees who are members of the team), members of other teams, event provided Machine Shops and shipping.

Any Kickoff Kit or FIRST Choice item received by a team in or before the 2018 season that has a FMV over $500 may be accounted at $500 on the team’s BOM.

WPILib has never been provided in the KOP or FC, and the contributors of WPILib do not sponsor every team, nor are they members of every team, nor are they all current members of teams. This means that the FMV of WPILib is defined by the FMV of the labor used to create it. That FMV, while nearly impossible to fully calculate, is undoubtedly much higher than $500 and would disqualify WPILib from being a legal piece of software on the robot in 2020.

I’ll list the questions that I think have to be asked to determine if WPILib is legal. My answers to these questions are pretty firm and shown by what I said above. FIRST’s answers will not be able to be determined until after kickoff because R13 (2019 R14) and the definitions of FMV, COTS, and VENDOR were not in the preseason rules releases, making them ineligible for the current Q&A.

  1. Is WPILib (or has it ever been) distributed by a VENDOR? (I said yes)
  2. Is WPILib (or has it ever been) a COTS item? (I said no)
  3. What is the FMV of WPILib? (I said over $500)

If you say no to 1, then 2 must also be no, and 3 “over $500”.
If you say no to 2, then 3 is “over $500”.
If you say yes to 1 and 2, then 3 is $0.

5 Likes

Call me quick to interpret rules based on intent and not how they’re written, but I feel like FIRST wouldn’t make the required libraries that are essential to it’s competition illegal

13 Likes
  1. The BOM is immensely frustrating and no one should actually be spending their time considering these ramifications if they want to be productive with their time, but I’m right there with you, so here we go anyway.

  2. Does this change if you compile WPILib from source, since they aren’t providing the binaries run on the robot anymore does that change the effect on the BOM?

1 Like

Oh, it sure wasnt the intent, but the rules are the rules. FIRST never intended to make it legal for robots to start on top of other robots in 2016.

2 Likes

They’ve still provided the code itself. That is the primary source of value in the FMV calculation. Although, technically the binaries you “produced yourself” would not have been provided by someone else and the source code could have simply been a “tool” to produce those binaries.

I guess the answer is maybe.

Technically WPILib isn’t required… See FRC 271’s code.

That being said, because WPILib is open source and provided to the public (not just FRC) for free, the “market value” is still free.

3 Likes

That simply isnt true if WPILib isnt considered COTS.

The BOM cost of each non-KOP item must be calculated based on the unit Fair Market Value for the material and/or labor, except for labor provided by team members (including sponsor employees who are members of the team), members of other teams, event provided Machine Shops and shipping.

If somebody online chooses to make an open source, free to use project, the market value of their labor is free. They offered their labor to a market for free.

5 Likes

The market value of soup in a soup kitchen isnt $0. The market value of the labor is the value it would have been sold for on the market.

Yes, because soup given away is not being sold on the open market.

WPILib software is offered to anyone for free. Even people not on FRC can use it, technically.

1 Like

WPILib isn’t being sold on the open market.

Soup at a soup kitchen is offered for anyone for free. Even people that aren’t homeless can have it, technically.

In the world of programming, there are hundreds of thousands of free libraries and software that even commercial businesses are allowed to use without paying anything. The open market value isn’t a literal value, it’s decided by the buyer and seller. From Wikipedia: “the price at which the property would change hands between a willing buyer and a willing seller“

Think about Spotify: the free version is available to the public for free. Sure, there’s a premium version and the free version has ads which is paid for in the separate market of ad space but the free version is still offered on a market for free.

Also are you TRYING to make it so we can’t use WPILib? Lol

6 Likes

In the world of food, there are hundreds of thousands of free meals and snacks that even wealthy people are allowed to eat without paying anything. The open market value isn’t a literal value, it’s decided by the buyer and seller. From Wikipedia: “the price at which the property would change hands between a willing buyer and a willing seller“

Think about soup: the free version is available to the public for free. Sure, there’s a premium version and the free version has lower quality ingredients which is paid forvia charitable donations but the free version is still offered at a soup kitchen for free.

The irony of the argument is that you can replace soup in it and suddenly the situation changes.

The question isn’t whether or not WPIlib is free, the question is if it is a COTS part. IMO, WPILib cant be COTS because it can’t be purchased, and this the value of the labor is its FMV. The value of donated labor from a non-sponsor or non-team member is not 0$, it is the FMV of that labor, which it is easy to determine that the market rate for programming work is not $0.

Lmao, that would make for an interesting season, for sure.

My reasoning for things like this is that I’m getting annoyed by changes to the BOM rules (and other rules) that dont take obvious conflictions into account. Rules in the 2019 manual made parts illegal after explicitly saying they are the only legal part.

1 Like

I would argue being available for free is equivalent to being purchasable for $0.

11 Likes

I think that is a fair argument that may very well be true, at least in the realm of FRC. However, my opinion goes back to this:

2 Likes

A COTS item must be a standard (i.e. not custom order) part commonly available from a VENDOR for all teams for purchase. To be a COTS item, the COMPONENT or MECHANISM must be in an unaltered, unmodified state (with the exception of installation or modification of any software).

Example 3: A team obtains openly available design drawings from a professional
publication during the pre-season, and uses them to fabricate a gearbox for their ROBOT
during the build period following Kickoff. The design drawings are considered a COTS
item, and may be used as “raw material” to fabricate the gearbox. The finished gearbox
itself would be a FABRICATED ITEM, and not a COTS item.

According to FRC, WPILib is a vendor. And according to the rules manual, even free items can be considered COTS:

Example 3: A team obtains openly available design drawings from a professional publication during the pre-season, and uses them to fabricate a gearbox for their ROBOT during the build period following Kickoff. The design drawings are considered a COTS item, and may be used as “raw material” to fabricate the gearbox. The finished gearbox itself would be a FABRICATED ITEM, and not a COTS item.

2 Likes

Openly available does not mean free. Openly available means that all teams may purchase them per VENDOR rule E. Also, “obtains” in this context means “purchases”.

I suppose I have to agree with you that the rule is simply poorly explained. This would suggest that Java, C++, OpenCV, the NI firmware and more all must be included in cost, which would be upwards of millions. Honesty the only thing they would need to change to fix this is change:

The Fair Market Value of a COTS part is its price defined by a VENDOR.

to

The Fair Market Value of all items is its price defined by its seller.

Included in the Virtual KOP IIRC. The rest is true though.

That cascades into a BUNCH of problems. What if one team member buys the item and then sells it to the team for 0.01$?

1 Like

As a contributor to WPILib, this thread hurts. I get that the rules can be frustrating at times but, how many people are going to read this thread and not understand that you are just complaining about unclear rules? That support overhead means instead of fixing actual problems, I instead need to go around reminding people that WPILib is an awesome software tool they should use. If you really doubt that, ask a Q&A question instead of stirring the pot online.

32 Likes