<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Michael Weinberg</title>
    <description>I put things here so they are on the internet</description>
    <link>https://michaelweinberg.org</link>
    <atom:link href="https://michaelweinberg.org/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate>
    <lastBuildDate>Tue, 26 May 2026 00:00:00 +0000</lastBuildDate>
    <ttl>60</ttl>
    
    <item>
      <title>Coming to Terms with § 1201</title>
      <description>&lt;p&gt;Last month the Engelberg Center released &lt;a href=&quot;https://www.nyuengelberg.org/outputs/unbalanced-interests/&quot;&gt;&lt;em&gt;Unbalanced Interests: How the § 1201 Process Ate Itself&lt;/em&gt;&lt;/a&gt; (also hosted on &lt;a href=&quot;https://michaelweinberg.org/docs/Unbalanced_Interests.pdf&quot;&gt;this site&lt;/a&gt;).  The report is a deep dive into the triennial § 1201 process, which is something of a marquee event in copyright policy circles, although not necessarily a particularly loved one.  In the context of this blog, it is the thing that precipitates the &lt;a href=&quot;https://michaelweinberg.org/tags/#1201&quot;&gt;unlocking 3D printers posts&lt;/a&gt; every three years.&lt;/p&gt;
&lt;p&gt;I wrote the report because I have been participating in this process since the 2010 cycle and wanted to dig into just how much collective effort it required, and how to balance that effort against the benefits it produces.  The short version is that the process requires a great deal of effort and produces very little benefit for anyone involved or the public in general.&lt;/p&gt;
&lt;p&gt;The 1201 process (named after the &lt;a href=&quot;https://www.law.cornell.edu/uscode/text/17/1201&quot;&gt;section of copyright law that establishes it&lt;/a&gt;) acts as a giant copyright policy time sink.   Of course, by its nature, the government maintains many time sinks. This one just happens to be mine.&lt;/p&gt;
&lt;p&gt;Established by Congress, the process assumes that every three years a bunch of third parties have time to represent the public in a proceeding that runs for about a year.  The process is managed by the Copyright Office. The Copyright Office sees itself as mediating between a number of competing interests, not as an advocate for the public’s interest.&lt;/p&gt;
&lt;p&gt;For reasons I’ll get to at the end of this post, in many ways the enduring relevance of the process is that it provides a rare forum to have policy fights about copyright law.  But first, a very quick tour of the findings.&lt;/p&gt;
&lt;h2&gt;Findings&lt;/h2&gt;
&lt;p&gt;The 1201 process requires a huge amount of effort from a huge amount of parties.&lt;/p&gt;
&lt;p&gt;During the most recent proceeding, which kicked off with an NPRM on October 19, 2023 and ended with a Final Rule just over a year later on October 28, 2024, 96 nonprofit organizations, law school clinics, trade associations, academics, companies, and individuals submitted over 1,000 pages of petitions, comments, opposition comments, and reply comments (in addition to participating in three days of public hearings).  Most of the participants involved do not track billable hours, but that corpus probably represents over 10,000 person hours of work.&lt;/p&gt;
&lt;p&gt;The process is also in service of a law that is rarely used.  The 1201 process technically consists of requests to be exempted from the law that prohibits breaking DRM.  Over the three year period covered by the last exemption, only 12 rightsholder suits included an alleged violation of that prohibition as a claim. Five of those came from the &lt;a href=&quot;https://www.3ds.com/&quot;&gt;same CAD software developer&lt;/a&gt;. All 12 included underlying copyright claims, which likely offer penalties that eclipse anything that would be available under 1201.&lt;/p&gt;
&lt;p&gt;As a result, one could draw the conclusion that the costs associated with the 1201 process far outweigh any benefits that the provision provides to rightsholders.&lt;/p&gt;
&lt;h2&gt;Bonus Features&lt;/h2&gt;
&lt;p&gt;For better or worse, every three years the 1201 process brings together a large swath of players in copyright policy debates. Partially as a way to recognize their work, the report contains three bonus features.  Those are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://1201.nyuengelberg.org/burdenofproof&quot;&gt;Burden of Proof&lt;/a&gt;&lt;/strong&gt; an interactive visualization of triennial comments submitted to the Copyright Office from 2000 to 2024.  It was created with the always excellent &lt;a href=&quot;https://www.jerthorp.me/&quot;&gt;Jer Thorp&lt;/a&gt; who decided to take a break from his otherwise interesting work to dig into triennial comment analytics. In addition to exploring the data with various filters, high-quality prints are available in a range of sizes.  That unquestionably makes it the #1 office accessory for every serious 1201 fan.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;&lt;a href=&quot;https://1201.nyuengelberg.org/leaderboard&quot;&gt;1201 Commenter Leaderboard&lt;/a&gt;&lt;/strong&gt;, a ranking of all the individuals who have filed comments in a triennial proceeding.  Although some individual comments are filed on behalf of multiple organizations or clients, the leaderboard only counts such joint comments as a single comment for ranking purposes. I was heartened to see people in the 1201 community have strong opinions about methodology.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;&lt;a href=&quot;https://1201.nyuengelberg.org/2003media&quot;&gt;2003 Media Explorer&lt;/a&gt;&lt;/strong&gt;, a way to explore media referenced by commenters during the 2003 triennial proceeding.  During that round of the proceeding, a large number of individuals filed comments in support of exemptions allowing circumvention of DRM protecting media. As part of their filings, commenters identified specific DVDs and albums they had purchased and were unable to make full use of because of DRM-based restrictions. This site allows you to explore them.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Why Does This Happen?&lt;/h2&gt;
&lt;p&gt;If the costs of the process outweigh the benefits, why does it persist?  My theory is that it provides one of the few administrative arenas for copyright policy debates.&lt;/p&gt;
&lt;p&gt;The evolution of copyright law mostly happens through the courts.  While Congress sets the rules (and occasionally spends a year or two considering a major rewrite), 1998’s DMCA is the most recent significant legislative update to those rules (sorry &lt;a href=&quot;https://en.wikipedia.org/wiki/Music_Modernization_Act&quot;&gt;MMA nerds&lt;/a&gt;).  Whereas issues such as net neutrality are contested at a regulatory agency like the FCC, there is &lt;a href=&quot;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5596751&quot;&gt;no administrative agency setting copyright rules&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However, every three years, the 1201 process provides a non-ligitation forum to hash out the limits of copyright law.  That makes it a best-bad option to at least debate these issues, and everyone runs in to do so. Does that justify its continued existence? Perhaps not, but it may explain it.&lt;/p&gt;
</description>
      <pubDate>Tue, 26 May 2026 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2026/05/26/1201-report/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2026/05/26/1201-report/</guid>
    </item>
    
    <item>
      <title>AI-Assisted Library Rewriting and Relicensing Brings Open Source Software into the IP World of Open Source Hardware</title>
      <description>&lt;p&gt;A dispute about a python library called chardet may be an early rumble of an earthquake in the world of open source software (OSS) and intellectual property law.  The incident exposes the potential fragility of the legal model underpinning OSS in the Large Language Model era.  Suddenly, open source hardware (OSHW)’s experience creating open works without comprehensive IP protections could have many lessons for OSS.&lt;/p&gt;
&lt;p&gt;First, as usual, some context.&lt;/p&gt;
&lt;h2&gt;LLM-Assisted Library Rewrite&lt;/h2&gt;
&lt;p&gt;Ars has a &lt;a href=&quot;https://arstechnica.com/ai/2026/03/ai-can-rewrite-open-source-code-but-can-it-rewrite-the-license-too/&quot;&gt;good summary&lt;/a&gt; of the precipitating incident.  Briefly, &lt;a href=&quot;https://github.com/chardet/chardet&quot;&gt;chardet&lt;/a&gt; is a python library released under the &lt;a href=&quot;https://www.gnu.org/licenses/lgpl-3.0.en.html&quot;&gt;LGPL&lt;/a&gt;, which is a restrictive open source license. The current maintainer (who did not originally create the library) wanted to rewrite the library in order to release it under a more permissive &lt;a href=&quot;https://opensource.org/license/mit&quot;&gt;MIT&lt;/a&gt; license. Assisted by Claude Code, the maintainer rewrote the library with new code that replicated the library’s functionality.&lt;/p&gt;
&lt;p&gt;The original creator of the library felt that this behavior violated the library’s license, effectively stripping the restrictive license from the project.  The current maintainer says that, while the new library maintains the functionality of the original, the new library does not copy any of the code from the original library. Since the code, and not the functionality, is what is protected by copyright and controlled by the license, the new version exists outside of the scope of the original license and can legally be licensed under different terms.&lt;/p&gt;
&lt;p&gt;While the merits of this argument could be a blog post in and of itself, for the purposes of this post let’s just say that copyright on code pretty narrowly covers the actual code as actually written, and excludes the functionality that the code represents (see, e.g. &lt;em&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_Inc.&quot;&gt;Google v Oracle&lt;/a&gt;&lt;/em&gt;).  On balance, that is a good thing because it allows people to create their own implementations of functionality without worrying about a copyright lawsuit. It also means that the first person to write code that performs a given function (say, sorting a collection of numbers from lowest to highest) does not get to control every other piece of code that performs the same function for that first person’s entire life plus 70 years after they die.  Furthermore, it would be bad if we decided to expand the scope of software copyright in an attempt to make open source software licenses more robust.&lt;/p&gt;
&lt;p&gt;The upshot is that this incident demonstrates a new reality where it may be easier to copy the functionality of code in a way that does not infringe that code’s copyright than has generally been assumed.  This upends one of the core assumptions underpinning OSS.&lt;/p&gt;
&lt;h2&gt;OSS and Copyright&lt;/h2&gt;
&lt;p&gt;This post will not rehash all of OSS and copyright.  Suffice it to say that the legal framework of OSS relies on one weird trick.  Software is &lt;a href=&quot;https://michaelweinberg.org/post/150123246460/the-cost-of-a-successful-creative-commons-and-open&quot;&gt;born closed&lt;/a&gt;, automatically and completely protected by copyright the moment it is written.  Other people need permission (a license) to use that copyright-protected code. Instead of using a software license to keep software proprietary, OSS uses the licenses to impose what the community sees as pro-social obligations on users while broadly inviting reuse.&lt;/p&gt;
&lt;p&gt;This entire legal edifice assumes that someone who wants to use open source code needs to copy the code itself (which is protected by copyright, thus requiring a license), not just the conceptual features that the code represents (which are not protected by copyright, thus making a license for that nonexistent copyright irrelevant).&lt;/p&gt;
&lt;h2&gt;OSHW and Copyright&lt;/h2&gt;
&lt;p&gt;OSHW is born out of the OSS community and carries forward many of its norms and practices.  However, there is an important difference: unlike born-closed software, many parts of OSHW are &lt;a href=&quot;https://michaelweinberg.org/post/150123246460/the-cost-of-a-successful-creative-commons-and-open&quot;&gt;born open&lt;/a&gt;.  Many of the functional elements of OSHW are categorically ineligible for copyright protection.&lt;/p&gt;
&lt;p&gt;Without that legal protection, OSHW licenses are much less &lt;em&gt;legally&lt;/em&gt; effective than OSS licenses at imposing obligations on users (just to be clear, parts of OSHW licenses are still legally enforceable - the situation is just &lt;a href=&quot;https://michaelweinberg.org/post/156095370255/is-it-better-to-over-license&quot;&gt;less universal&lt;/a&gt; than OSS).&lt;/p&gt;
&lt;p&gt;Although the OSHW legal foundation is less robust than its OSS cousin, this community still basically works.  In large part this is because, at least internally, the licenses still act as valued social signals to OSHW users.  People tend to respect them, and there tend to be social sanctions on community members who violate the spirit of the license regardless of its ultimate legal enforceability.&lt;/p&gt;
&lt;h2&gt;OSS and OSHW Come Full Circle&lt;/h2&gt;
&lt;p&gt;It is understandably alarming for the OSS community to find that its core legal foundation may be shifting below its collective feet.  The good news is that the OSS community does not need to figure this out on its own. OSHW has been modeling how to navigate this environment for over a decade.&lt;/p&gt;
&lt;p&gt;Also, it may be an opportunity to learn if OSS is really just the friends we found along the way. The legal enforceability of OSS licenses is unquestionably important. At the same time, actually litigating license violations is vanishingly rare.  This new environment may help us understand how much of the power of OSS comes from the legal stick they carry, and how much comes from the social sanctions that flow from violating the social signal they embody.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/john-pounds-william-sharp-and-ephraim-bouve:nmah_325119&quot;&gt;John Pounds by William Sharp and Ephraim Bouve&lt;/a&gt; from the Smithsonian&apos;s Open Access collection&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2026/03/30/oss-oshw-lowip/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2026/03/30/oss-oshw-lowip/</guid>
    </item>
    
    <item>
      <title>3D Printers Cannot Effectively Screen for Gun Parts</title>
      <description>&lt;p&gt;This post is a handy reference for the technical reasons why requiring 3D printers to screen for gun parts is not an effective way to reduce guns or gun violence.  I am publishing it on the occasion of both New York and Washington State &lt;a href=&quot;https://blog.adafruit.com/2026/02/03/new-york-wants-to-ctrlaltdelete-your-3d-printer/&quot;&gt;introducing bills&lt;/a&gt; to require this type of screening.    In addition to a topic that I have been researching for &lt;a href=&quot;https://michaelweinberg.org/post/107999615320/focus-on-undetectable-firearms-not-3d-printers&quot;&gt;over a decade&lt;/a&gt;, the question of how to know if a 3D printer is printing a gun part is something I spent a lot of time working on while overseeing trust and safety at a large 3D printing service provider.&lt;/p&gt;
&lt;p&gt;This post is not about debating the larger legitimacy of gun control.  It assumes that gun control is a reasonable and legitimate action of governments in order to focus on the technical reasons why requiring 3D printers to identify and refuse to print gun parts does not work.&lt;/p&gt;
&lt;p&gt;Broadly speaking, it is responding to requirements that all 3D printers check prints to make sure that they are not gun parts. If the part is a gun part, the printer would refuse to print it.&lt;/p&gt;
&lt;p&gt;The short version is that accurately identifying gun parts is incredibly hard, and the hackable nature of desktop 3D printers makes it trivial to circumvent any requirements to try.&lt;/p&gt;
&lt;p&gt;Here&apos;s the slightly longer version:&lt;/p&gt;
&lt;h2&gt;Matching Files is Fragile&lt;/h2&gt;
&lt;p&gt;The first reason that requiring 3D printers to identify gun parts is ineffective is because analyzing 3D files is complicated.  Any attempt to identify gun parts will miss many parts that are actually for guns, and may flag a number of parts that have nothing to do with guns (&lt;em&gt;see, e.g.&lt;/em&gt; the &lt;a href=&quot;https://www.si.edu/object/designs-gun-parts-and-ornament:chndm_1921-6-408-20&quot;&gt;hero image&lt;/a&gt; on this blog post).&lt;/p&gt;
&lt;p&gt;Expensive engineering design software is good at evaluating specific properties of a 3D file (like where mechanical stress will occur over a lifetime of use).  However, even that software can’t tell you what a part actually does (is that spring for a door, a shock absorber, or a catapult?).  This challenge is exacerbated by the fact that guns are just mechanical objects. That means that there are many ways to design any individual part, and many individual parts of guns will resemble mechanical parts with totally benign uses.  Put another way, devoid of other context, a switch for a gun safety looks a lot like a switch for a door.&lt;/p&gt;
&lt;p&gt;Broadly speaking, there are two ways to think about doing file matching:&lt;/p&gt;
&lt;h3&gt;Algorithmic Analysis&lt;/h3&gt;
&lt;p&gt;This approach imagines a piece of software that can analyze a file and determine with some level of certainty if it is a gun part or just a hinge.  Assuming that this software exists, which it does not at the time of this writing, it is reasonable to expect that such an analysis would be reasonably computationally expensive.&lt;/p&gt;
&lt;p&gt;3D printers do not have the on-board processing power to do this kind of analysis.  Requiring that they include chips capable of this kind of analysis would fundamentally change the economics of 3D printer design, akin to requiring that all bikes include jet engines.&lt;/p&gt;
&lt;p&gt;Of course, the 3D printer could upload the file to a cloud somewhere and let the processing happen there.  However, internet connectivity is not a default feature on desktop 3D printers.  You could require that all 3D printers maintain a constant connection to the internet in order to operate but, again, that would fundamentally change how many people use their printer. There are also many legitimate use environments where constant internet connectivity is neither possible nor desirable.  And, of course, this raises the question of who is responsible for maintaining that directory and keeping it secure.&lt;/p&gt;
&lt;h3&gt;Blacklisting&lt;/h3&gt;
&lt;p&gt;If it is not possible to analyze the true purpose of each file, it might be possible to at least match them against a known database of gun parts, right?  This approach also has some serious shortcomings.&lt;/p&gt;
&lt;p&gt;First, there is a question of keeping that database up to date on the printer.  That would require constant, or at least regular, internet connectivity for the printer. That raises the same issues as discussed in the last section.&lt;/p&gt;
&lt;p&gt;Second, also as discussed above, analyzing and matching 3D files is computationally expensive.  The most logical way to do that with the processing power of a 3D printer would be to use a hash table of known gun parts, comparing a hash of the file to be printed against the table.&lt;/p&gt;
&lt;p&gt;The primary problem with both geometry matching and hash matching is that it is incredibly fragile.  A small change that had no impact on the functioning of the part would change its geometry or hash, effectively hiding it from the blacklist.  That would make it trivial for anyone to circumvent it.  Identifying which changes are functional and which are merely aesthetic is not easy.  That is especially true if people are making those changes with the specific goal of tricking the printer into printing a gun part.&lt;/p&gt;
&lt;h2&gt;3D Printers Print Themselves&lt;/h2&gt;
&lt;p&gt;The second reason this proposal is ineffective is because 3D printers are made in an incredibly distributed way.  There are dozens of ways to make your own 3D printer using open source, user-modifiable parts.  Even non-open source printers are highly hackable.&lt;/p&gt;
&lt;p&gt;As a result, there is no way to mandate that a technology that starts in a 3D printer remains in a 3D printer. The software that runs most printers is open source, meaning a single update would circumvent any screening measures.&lt;/p&gt;
&lt;p&gt;This places 3D printers at the opposite end of the spectrum from 2D printers.  Anti-counterfeit systems prevent 2D printers from printing currency.  To the extent that these rules are effective (and I’m no expert, but they are often cited in these discussions as successful models), it is because the 2D printing industry is fairly concentrated and proprietary.  2D printer companies are actively hostile to users who want to modify their products, significantly raising the barrier to hacking around any countermeasures.&lt;/p&gt;
&lt;p&gt;Desktop 3D printers are the opposite. They all trace their heritage back to open source printers, and users expect to be able to modify, extend, and hack their printers.  That means that workarounds for a screening mandate would be easy to develop, distribute, and implement. Many open source software packages might even include the circumvention by default, meaning users would implement it without even actively intending to do so.&lt;/p&gt;
&lt;h2&gt;3D Printers are General Purpose Machines&lt;/h2&gt;
&lt;p&gt;This post is focused on the technical challenges with requiring 3D printers to screen every file it prints for gun parts. Nonetheless, it would be incomplete without a brief mention of how potentially invasive this sort of requirement is.&lt;/p&gt;
&lt;p&gt;3D printers are general purpose machines that can be used for good or ill.  Just as we do not require the phone company to monitor every phone call in order to prevent customers from using phones to commit bank fraud, we should be wary of requiring our 3D printers to monitor every print in order to prevent one possible type of print.&lt;/p&gt;
&lt;p&gt;That type of invasion might be reasonable if it was effective. However, for the reasons listed in that post, it is unlikely to prevent even a modestly motivated person from using their printer to create gun parts.  If an intervention is both highly invasive and unlikely to be effective, it is probably not an ideal policy.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/designs-gun-parts-and-ornament:chndm_1921-6-408-20&quot;&gt;Designs for Gun Parts and Ornament&lt;/a&gt; from the Smithsonian Open Access collection. It&apos;s not always easy to tell which elements of a gun are functional and which are decorative!&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Wed, 04 Feb 2026 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2026/02/04/3d-printer-gun-screen/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2026/02/04/3d-printer-gun-screen/</guid>
    </item>
    
    <item>
      <title>The Prusa Open Community License Embraces IP Maximalism</title>
      <description>&lt;p&gt;This post was originally going to be a legal analysis of the &lt;a href=&quot;https://github.com/OpenCommunityLicence/OpenCommunityLicence&quot;&gt;Open Community License&lt;/a&gt; &lt;a href=&quot;https://blog.prusa3d.com/core-one-cad-files-release-under-the-new-open-community-license-ocl_127290/&quot;&gt;released&lt;/a&gt; by the 3D printer company Prusa Labs right before Christmas. That analysis may still come. (&lt;em&gt;update 3/19/26&lt;/em&gt;: It does not need to come.  Kyle E. Mitchell did his &lt;a href=&quot;https://writing.kemitchell.com/2026/03/16/Open-Community-License-1&quot;&gt;trademark Line by Line analysis of the license&lt;/a&gt; so check it out.)&lt;/p&gt;
&lt;p&gt;However, after reviewing it, the legal specifics of the license are less important than the way it represents the relationship between open hardware and IP protections in general. The entire presentation suggests that Prusa has a legal ability to control uses it has no ability to control.  In addition to being an “open” license that does not meet any common definition of open, the Open Community License actually advances the cause of a more maximalist IP worldview.&lt;/p&gt;
&lt;h2&gt;Quick Background&lt;/h2&gt;
&lt;p&gt;Since 2023 Josef Průša, the eponymous founder of the 3D printing company Prusa Research, has been complaining about the state of open hardware (see, e.g. discussion &lt;a href=&quot;https://michaelweinberg.org/blog/2023/04/05/prusa-response/&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://michaelweinberg.org/blog/2024/11/21/what-does-company-owe-oshw/&quot;&gt;here&lt;/a&gt;).  These complaints have basically taken the form of asserting that open hardware does not work as a business anymore in blog posts framed as a “call for discussion,” and then ignoring even the &lt;a href=&quot;https://michaelweinberg.org/blog/2023/04/05/prusa-response/&quot;&gt;most basic clarifying questions&lt;/a&gt; designed to understand his concerns so they could be discussed.&lt;/p&gt;
&lt;p&gt;At the very end of 2025, Prusa Research &lt;a href=&quot;https://blog.prusa3d.com/core-one-cad-files-release-under-the-new-open-community-license-ocl_127290/&quot;&gt;announced&lt;/a&gt; a new “&lt;a href=&quot;https://github.com/OpenCommunityLicence/OpenCommunityLicence&quot;&gt;Open Commiunity License&lt;/a&gt;” (OCL). That license attempts to restrict any commercial use of Prusa printers or designs, with the narrow exception of modifications that a commercial user may do to printers they only use internally.  This kind of commercial restriction runs counter to the understanding of openness embodied in both the &lt;a href=&quot;https://opensource.org/osd&quot;&gt;Open Source Definition&lt;/a&gt; and the &lt;a href=&quot;https://oshwa.org/resources/open-source-hardware-definition/&quot;&gt;Open Source Hardware Definition&lt;/a&gt;.  It also purports to grant rights to modify hardware that people already have thanks to concepts like the &lt;a href=&quot;https://en.wikipedia.org/wiki/First-sale_doctrine&quot;&gt;First Sale Doctrine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This post isn’t a legal analysis of the license itself, so for now I’ll just say that the license text feels a little underbaked, even if one were to be on board with its purported purpose.&lt;/p&gt;
&lt;h2&gt;The Larger Issue - How the OCL Embraces IP Maximalism&lt;/h2&gt;
&lt;p&gt;The bigger issue with the license is that it is framed in a way that suggests Prusa has the ability to control the use of things it has no ability to control. Specifically, that it has rights over functional elements of its printers that are not protectable by copyright.&lt;/p&gt;
&lt;h3&gt;Not All Hardware is Protected by IP Rights&lt;/h3&gt;
&lt;p&gt;The thing that makes understanding open source hardware licensing challenging is the fact that hardware is not fully and automatically protected by any sort of IP right.  Software is categorically “&lt;a href=&quot;https://michaelweinberg.org/post/150123246460/the-cost-of-a-successful-creative-commons-and-open&quot;&gt;born closed&lt;/a&gt;.”  It is completely protected by copyright the moment it is created. That means a) creators need to give formal permission (a license) for anyone else to build upon it, and b) that license covers the entire piece of software.&lt;/p&gt;
&lt;p&gt;Some parts of open hardware (like the software that runs it) are also “born closed,” so users need permission (in the form of a license) to build upon it.  However, other parts of open hardware (like the functional, physical parts) are “born open”.  Those “born open” parts are open by default. There are no intellectual property rights restricting how they are used by others. No one needs a license to do anything with them, including just copying and reselling them. The creator of these elements does not have the legal power to dictate how they are (and are not) reproduced.  Some of these elements might be patentable, but that’s a whole other thing that is rarely relevant in open source hardware contexts.&lt;/p&gt;
&lt;p&gt;This can feel counterintuitive to anyone raised on open software. In fact, sometimes people suggest expanding IP rights to the functional parts of hardware &lt;em&gt;just so they can then be openly licensed&lt;/em&gt;.  But (at least in my opinion) it would be perverse to expand IP rights in the name of openness. It is a good thing that many elements of open hardware are open by default.&lt;/p&gt;
&lt;h3&gt;Understanding the Limits of Licensing&lt;/h3&gt;
&lt;p&gt;The entire Open Community License enterprise falls into the trap of assuming that every element of a Prusa printer is protected by some kind of right, and that using or building on that element requires permission from Prusa.&lt;/p&gt;
&lt;p&gt;Prusa’s original complaints about open hardware were (as best as I could tell) focused on competitors copying functional elements of Prusa printers (like all of the mechanical parts).  Prusa claimed that this was because the elements were openly licensed. However, since the functional elements are not protected by any sort of IP right, they weren’t actually openly licensed. In fact, they weren’t licensed at all, because there were no underlying rights to license on any terms.  They were just available for anyone, including competitors, to do whatever they wanted with. No amount of closed “no copying” licensing language would change that.&lt;/p&gt;
&lt;h2&gt;Pretend IP Rights&lt;/h2&gt;
&lt;p&gt;The Open Community License converts this misunderstanding into legal-looking text.  The License’s announcement is tied to the release of the CAD files for the CORE One and CORE One L frames.  This announcement image is full of the kind of functional parts that are not eligible for copyright protection[^1]:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://michaelweinberg.org/images/prusa_ocl_graphic.jpg&quot; alt=&quot;expoded engineering diagram of a Prusa printer showing its physical components&quot;&gt;&lt;/p&gt;
&lt;p&gt;To its credit, the license text explicitly limits its coverage to actual, existing IP rights:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;OCL pertains to intellectual property applied in licensor‘s products
and/or its components&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Which is good except that, for the reasons just outlined, many readers (and maybe Prusa itself?) might assume that “intellectual property applied in licensor‘s products” is a much more expansive set of rights than it actually is.&lt;/p&gt;
&lt;p&gt;This problem is exacerbated by the &lt;a href=&quot;https://github.com/OpenCommunityLicence/OpenCommunityLicence/tree/main/examples&quot;&gt;examples directory&lt;/a&gt; linked to by the license.  Presumably, this directory is intended to be something like the human-readable version of the terms.&lt;/p&gt;
&lt;p&gt;Those examples are full of functional hardware elements that are simply not protected by intellectual property rights: a fan shroud (Scenario 1), a soldering iron (Scenario 1), a printing toolhead (Scenario 3 &amp;amp; 4), and replacement parts (Scenario 5 &amp;amp; 6).  The OCL can’t cover them, because they are categorically ineligible for the types of intellectual property rights that the OCL is designed to license.&lt;/p&gt;
&lt;p&gt;As a result, everything about this license rollout, from the graphics, to the blog post explaining it, to the examples of how it should be used, imagines a world where copyright protects things that it simply does not protect.  Expanding copyright protection in this way would work against the concepts of sharing and collaboration that form the foundation of open communities.&lt;/p&gt;
&lt;p&gt;That is the real problem with the OCL.  Prusa is free to tell itself that saying “no copying” will stop competitors, and the internet is already full of half-baked partially open licenses.  The real damage comes from conditioning people to think that they need permission to use objects in the public domain.&lt;/p&gt;
&lt;p&gt;[^1]: Even if the parts themselves are not eligible for copyright protection, are the CAD files representing them copyrightable?  The answer to that is a lawyerly “it depends” (pages 14-17 of &lt;a href=&quot;https://michaelweinberg.org/docs/WhatstheDealwithCopyright_%20Finalversion2.pdf&quot;&gt;this whitepaper&lt;/a&gt; explore it a bit - I think the answer in many cases is “probably not”).  In some ways that makes the license more of a problem - in the face of ambiguity around the bounds of copyright protection for digital files that represent functional objects, it dumps its weight on the side of broader rights.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/political-discussion-lumber-shanty:saam_1973.130.17&quot;&gt;Political Discussion in a Lumber Shanty&lt;/a&gt; from the Smithsonian Open Access collection&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 30 Jan 2026 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2026/01/30/ocl-ip-maximalism/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2026/01/30/ocl-ip-maximalism/</guid>
    </item>
    
    <item>
      <title>Is the Arduino Uno Q Open Source Hardware?</title>
      <description>&lt;p&gt;Earlier this month, Arduino &lt;a href=&quot;https://hackaday.com/2025/10/07/qualcomm-introduces-the-arduino-uno-q-linux-capable-sbc/&quot;&gt;announced a new Arduino Uno Q&lt;/a&gt; board as part of its acquisition by Qualcomm.  Is this new board open source?  It is kind of hard to say, which is exactly why the &lt;a href=&quot;https://certification.oshwa.org/&quot;&gt;OSHWA Open Source Hardware Certification&lt;/a&gt; exists.&lt;/p&gt;
&lt;h2&gt;What Do We Know?&lt;/h2&gt;
&lt;p&gt;Arduino is &lt;a href=&quot;https://www.arduino.cc/product-uno-q&quot;&gt;marketing the new Q as “open source”&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://michaelweinberg.org/images/arduino-q-os.png&quot; alt=&quot;Is UNO Q open source? Yes, UNO Q schematics and gerbers are available under the CC-BY-S 4.0 license&quot;&gt;&lt;/p&gt;
&lt;p&gt;And you can &lt;a href=&quot;https://docs.arduino.cc/hardware/uno-q/&quot;&gt;download manufacturing files for the board&lt;/a&gt;, which are licensed under a CC BY-SA 4.0 license.&lt;/p&gt;
&lt;p&gt;However, unlike prior Arduino boards (such as the &lt;a href=&quot;https://docs.arduino.cc/hardware/uno-rev3/&quot;&gt;Uno&lt;/a&gt;), Arduino has not released editable design files for the Q. That means that, while some Q files are available and openly licensed, you cannot use those files to modify the board.&lt;/p&gt;
&lt;p&gt;Why might this be relevant? The community &lt;a href=&quot;https://oshwa.org/resources/open-source-hardware-definition/&quot;&gt;Open Hardware Definition&lt;/a&gt; maintained by OSHWA requires:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The documentation must include design files in the preferred format for making changes, for example the native file format of a CAD program. Deliberately obfuscated design files are not allowed. Intermediate forms analogous to compiled computer code — such as printer-ready copper artwork from a CAD program — are not allowed as substitutes.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I don’t know if Arduino intended to deliberately obfuscate the design files that it released, but the publicly available Q files are basically the “[i]ntermediate forms” called out in that definition.  Whatever the intention, Arduino’s release clearly fails the requirements of the community definition.&lt;/p&gt;
&lt;p&gt;This means Arduino has a definition of “open source” that differs from the OSHWA definition. The difference might be confusing to some people. What can be done about that?&lt;/p&gt;
&lt;h2&gt;Enter the OSHWA Certification&lt;/h2&gt;
&lt;p&gt;This is exactly the type of situation that &lt;a href=&quot;https://michaelweinberg.org/post/129796766675/what-oshwa-is-and-is-not-trying-to-do-with-the&quot;&gt;motivated OSHWA to create the certification program in the first place&lt;/a&gt;.  No one owns the term “open source,” so it can basically be used on anything to mean anything.  Sometimes it is used in different ways because people have a legitimate disagreement about what it should mean. Other times it is used in different ways because people are trying to open wash a product in bad faith. Regardless of the reason, it can be confusing.&lt;/p&gt;
&lt;p&gt;Fortunately, while no one owns the term open source, OSHWA does own the open source hardware &lt;a href=&quot;https://certification.oshwa.org/mark-usage.html&quot;&gt;certification logo&lt;/a&gt;, control UIDs, and control the &lt;a href=&quot;https://certification.oshwa.org/list.html&quot;&gt;directory&lt;/a&gt;.  Although anyone can say something is “open source,” only things that meet the community definition of open source can be OSHWA certified as such.&lt;/p&gt;
&lt;p&gt;Is someone making a claim to open source that feels questionable? If the hardware is OSWHA certified, you know that their definition of “open source” matches the community definition.  If it isn’t certified, it might be worth doing some additional digging.&lt;/p&gt;
&lt;h2&gt;What About the Chips?&lt;/h2&gt;
&lt;p&gt;There is one other potentially important difference between the Uno and the Uno Q’s documentation.  The Uno’s &lt;a href=&quot;https://docs.arduino.cc/resources/datasheets/A000066-datasheet.pdf&quot;&gt;datasheet&lt;/a&gt; lists the ATMega328P as its processor, but does not include openly licensed, editable files for it.  That’s consistent with the Certification’s principle of &lt;a href=&quot;https://certification.oshwa.org/basics/faq.html&quot;&gt;user contribution&lt;/a&gt;.  Arduino does not include openly licensed, editable files for the ATMega328P because it can’t - Arduino did not design those processors and does not have the legal authority to license them to others. Listing them is all that is required, in part because that is all they really can do.&lt;/p&gt;
&lt;p&gt;The Uno Q’s relationship to its processors are very different.  Its &lt;a href=&quot;https://docs.arduino.cc/resources/datasheets/ABX00162-ABX00173-datasheet.pdf&quot;&gt;datasheet&lt;/a&gt; lists a number of Qualcomm chips. Since Qualcomm owns Arduino, Arduino/Quamcomm does have the legal authority to release editable versions of those files and openly license them.  That makes the Qualcomm chips part of Arduino’s “user contribution”.  In order to be certified open, those chips would need to be openly licensed as well.&lt;/p&gt;
&lt;h2&gt;Sometimes Open Source Just Isn’t&lt;/h2&gt;
&lt;p&gt;Even in a world of openness ambiguity, sometimes it is very easy to determine if a claim of open source is bogus.  Take, for example this question and response in the &lt;a href=&quot;https://www.arduino.cc/product-uno-q&quot;&gt;Q’s FAQs&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://michaelweinberg.org/images/arduino-lab-os.png&quot; alt=&quot;Is UNO Q open source? Yes, UNO Q schematics and gerbers are available under the CC-BY-S 4.0 license&quot;&gt;&lt;/p&gt;
&lt;p&gt;If the question is “Is Arduino App Lab open source?,” and the response is “we are working to publish corresponding source code repositories,” then the actual answer to the question is “No.”  Or, at a minimum, “not yet”.  “Someday we hope to make this open source” is not the same as “open source”.  Which is fine!  Just, you know, describe the current situation accurately.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;hhttps://www.metmuseum.org/art/collection/search/362329&quot;&gt;Electricity for Everybody cover&lt;/a&gt; from the Met&apos;s Open Access collection&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 24 Oct 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/10/24/arduino-q-open-hardware/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/10/24/arduino-q-open-hardware/</guid>
    </item>
    
    <item>
      <title>The Most Popular Open Source Hardware Licenses (2016-2025)</title>
      <description>&lt;p&gt;What are the most popular open source hardware licenses? How has that popularity changed over time? Is there anything to be learned from the ups and downs of various licenses?&lt;/p&gt;
&lt;p&gt;This &lt;a href=&quot;https://ohm.oshwa.org/&quot;&gt;Open Hardware Month&lt;/a&gt; my modern mind, like yours, had these &lt;a href=&quot;https://youtu.be/DQaF4YXCXsc?feature=shared&amp;amp;t=20&quot;&gt;three questions&lt;/a&gt;. Fortunately, the OSHWA &lt;a href=&quot;https://certificationapi.oshwa.org/documentation&quot;&gt;Open Source Hardware Certification API&lt;/a&gt; makes it possible to start answering them.&lt;/p&gt;
&lt;p&gt;This post has leaderboards for all of the licenses used for certified hardware, as well as hardware, software, and documentation specific leaderboards.  I&apos;m not sure if there is a revelatory take away from them right now, but the leaderboards may be helpful in the future.&lt;/p&gt;
&lt;p&gt;If you don&apos;t want to read the context about the data, jump right to the leaderboard you care about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#all_license&quot;&gt;All Licenses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#hardware&quot;&gt;Hardware Licenses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#software&quot;&gt;Software Licenses&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#documentation&quot;&gt;Documentation Licenses&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you don&apos;t want to deal with that API, you can find the raw data from this post (and some tools for working with them) in &lt;a href=&quot;https://github.com/mwweinberg/OSHWA-license-counter&quot;&gt;this repo&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;The Nature of This Data and How It Evolves Over Time&lt;/h2&gt;
&lt;p&gt;Before getting to the leaderboards, I want to put the data into context.&lt;/p&gt;
&lt;p&gt;This data comes from OSHWA&apos;s &lt;a href=&quot;https://certification.oshwa.org/list.html&quot;&gt;Open Hardware Certification Directory&lt;/a&gt;. As part of the &lt;a href=&quot;https://application.oshwa.org/apply&quot;&gt;certification application form&lt;/a&gt;, OSHWA asks for information about three separate licenses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the license for the hardware,&lt;/li&gt;
&lt;li&gt;the license for the documentation, and&lt;/li&gt;
&lt;li&gt;the license for the software (if any)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;(&lt;a href=&quot;https://michaelweinberg.org/post/166125363755/a-quick-and-dirty-guide-to-open-source-hardware&quot;&gt;here&apos;s a quick a dirty guide to open source hardware licensing&lt;/a&gt; with a bit more)&lt;/p&gt;
&lt;p&gt;This structure is designed to give creators flexibility. If they want to use a single license for the entire bundle, they can do so.  Alternatively, if they want to use element-specific licenses, they can do so as well.&lt;/p&gt;
&lt;p&gt;Some people use this flexibility to choose licenses designed with each element of the bundle in mind. For example, they will use a Creative Commons license for the project documentation, a well known open source software license for the software, and a hardware-specific license for the hardware.&lt;/p&gt;
&lt;p&gt;Others just use a single license to cover everything. Sometimes that is fine — the CERN licenses are designed to be a single license to cover all elements of open hardware.  Other times it is fine-ish — most open source software licenses were not written with hardware in mind.  Using them for hardware isn&apos;t great, but they are certainly better than nothing.&lt;/p&gt;
&lt;p&gt;This can get moderately more complex when people use the CERN open hardware licenses for the hardware, and other licenses for other elements. The CERN licenses are designed to cover everything in the project bundle.  When people use additional licenses for other elements (say, an open source software license for the software), I think the best reading is that they are actually dual licensing that element under both licenses.  Of course, I doubt most people spend very much time thinking about that, and I don&apos;t think it is particularly relevant to the analysis here.&lt;/p&gt;
&lt;p&gt;Finally, there is no guarantee that the choices registered in the Certification Directory match the license(s) used in the repo or other documentation.  The certification review process requires that the repo and documentation contain licenses that meet the &lt;a href=&quot;https://oshwa.org/resources/open-source-hardware-definition/&quot;&gt;Open Hardware Definition&lt;/a&gt;.  If the repo contains licenses that differ from the licenses identified in the application, I think it is reasonable to treat the hardware as licensed under both licenses simultaneously.&lt;/p&gt;
&lt;h3&gt;The Data Evolves&lt;/h3&gt;
&lt;p&gt;While this post contains data all the way back to 2016, the categories represented in the data are not static.&lt;/p&gt;
&lt;p&gt;The directory started with somewhat informal and imprecise license categories (&lt;code&gt;GPL&lt;/code&gt; or &lt;code&gt;CC-BY&lt;/code&gt;).  In 2022 OSHWA upgraded to &lt;a href=&quot;https://spdx.org/licenses/&quot;&gt;SPDX identifiers&lt;/a&gt; for the licenses.  These identifiers are standardized ways to identify licenses, and are more specific than the terms being used earlier.  OSHWA retained some non-SPDX identifiers as legacy options (for example, &lt;code&gt;GPL&lt;/code&gt; or &lt;code&gt;CERN&lt;/code&gt;) but moved them to the bottom of the dropdown menu, below &amp;quot;other,&amp;quot; to discourage their use when an SPDX alternative existed.   That means that you can trace &lt;code&gt;GPL&lt;/code&gt; back to 2016, but &lt;code&gt;GPL-3.0-or-later&lt;/code&gt; only starts in 2022.&lt;/p&gt;
&lt;p&gt;In addition to this evolution of terminology, in 2021 OSHWA added the then newly-released CERN v2 licenses.  That means all of the &lt;code&gt;CERN&lt;/code&gt; licenses prior to 2021 are &lt;code&gt;CERN v1&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The trends are also slightly skewed in 2020 and 2021.  OSHWA saw a general increase in certifications during these pandemic years, lead by a concerted effort by one party (&lt;a href=&quot;www.adafruit.com/&quot;&gt;Adafruit&lt;/a&gt;) to certify a large number of pieces of hardware.  The number of certifications obtained by Adafruit during that period are likely enough to skew license patterns to match its practices for those years.&lt;/p&gt;
&lt;p&gt;Finally, the act of compiling data for this post made me realize that OSHWA did not include &lt;code&gt;MIT&lt;/code&gt; licensing options for hardware and documentation. Whatever its possible limitations as a license applied to these things, it is often used by creators who simply add a single license to their repo.  Therefore, &lt;code&gt;MIT&lt;/code&gt; is now an option for those elements. This will likely reduce the number of &lt;code&gt;other&lt;/code&gt; license selections over time.&lt;/p&gt;
&lt;h1&gt;&lt;a name=&quot;all_license&quot;&gt;&lt;/a&gt; All Licenses&lt;/h1&gt;
&lt;p&gt;This first group aggregates all of the licenses used across all categories (hardware, software, and documentation).  This aggregation makes it more likely that licenses popular with creators who pick one license for all three components will be at the top. Historically, these have tended to be well known open source software and Creative Commons licenses. However, we are seeing the persistent growth of the CERN licenses as they are more widely adopted.&lt;/p&gt;
&lt;h2&gt;All Licenses 2025 (so far)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;85&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;83&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;74&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;70&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;68&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;50&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;48&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;33&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;24&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;21 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2024&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;237&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;108&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;103&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;100&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;90&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;90&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;51&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;31&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;28&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;21 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Mozilla&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2023&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;485&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;401&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;256&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;195&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;114&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;93&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;77&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;72&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;62&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;36&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;28&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2022&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;115&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;98&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;85&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;74&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;57&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;39&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;38&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;36&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;34&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;26&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2021&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;311&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;232&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;195&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;186&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;67&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;32&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Mozilla&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2020&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;844&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;708&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;621&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;397&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;147&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;59&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2019&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;130&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;90&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;68&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;37&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2018&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;159&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;62&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;30&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;22&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2017&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;80&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;All Licenses 2016&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;144&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1&gt;&lt;a name=&quot;hardware&quot;&gt;&lt;/a&gt; Hardware Licenses&lt;/h1&gt;
&lt;p&gt;These charts track the growth of the licenses applied to hardware.  As mentioned above, the strength of &lt;code&gt;Other&lt;/code&gt; on the list likely represents creators who chose a single open source software license for their entire project. The hardware license dropdown does not include most open source software licenses, so those creators will choose &lt;code&gt;Other&lt;/code&gt; here.  With &lt;code&gt;MIT&lt;/code&gt; included as an option as of August of 2025, 2025 and 2026 data will hopefully begin to disambiguate that category.&lt;/p&gt;
&lt;p&gt;Both CERN and Creative Commons licenses remain popular choices over time.  While older hardware-oriented licenses such as TAPR and Solderpad do not have the same level of popularity, they continue to have users.&lt;/p&gt;
&lt;h2&gt;Hardware Licenses 2025 (so far)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;52&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;46&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2024&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;87&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;77&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2023&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;211&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;195&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;52&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;32&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2022&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;83&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;36&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;26&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2021&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;195&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;133&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-1.2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2020&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;552&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;397&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Solderpad&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2019&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;93&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;37&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2018&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;86&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2017&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;37&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Hardware Licenses 2016&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;79&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;TAPR&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1&gt;&lt;a name=&quot;software&quot;&gt;&lt;/a&gt; Software Licenses&lt;/h1&gt;
&lt;p&gt;It should come as no surprise that traditional open source software licenses dominate this list, with MIT and GPL at the top. Given how relatively popular the CERN licenses are for hardware, and the fact that the CERN licenses include software within its definition of &amp;quot;source,&amp;quot; it is notable how low the CERN licenses rank in these charts.  This may mean that people are deciding to use a different, additional license for their software. It may also mean that OSHWA certifiers are more fluent in open source software licenses, and are therefore comfortable with the idea of picking a different license for their software.&lt;/p&gt;
&lt;p&gt;The other notable entry on the list is the &lt;code&gt;No software&lt;/code&gt; option.  This likely reflects two factors. First, many certified projects are relatively simple boards that do not need additional firmware (or simply use widely available open source firmware maintained by others). Second, there is a lot of certified open source hardware that is not electronics! I&apos;m looking at you, &lt;a href=&quot;https://certification.oshwa.org/us002180.html&quot;&gt;Touch Grass&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Software Licenses 2025 (so far)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;79&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;33&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2024&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;103&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;71&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;51&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;43&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Mozilla&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2023&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;401&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;114&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;68&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;32&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2022&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;98&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;38&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;23&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2021&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;232&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;67&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Mozilla&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2020&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;708&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;147&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;59&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2019&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;68&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2018&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;30&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;22&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2017&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Software Licenses 2016&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;42&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;21&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;No software&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Apache&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;LGPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1&gt;&lt;a name=&quot;documentation&quot;&gt;&lt;/a&gt; Documentation Licenses&lt;/h1&gt;
&lt;p&gt;The documentation license charts are essentially a mirror image of the software license charts.  Well known Creative Commons licenses dominate, with notable appearances by popular open source software licenses that are presumably applied globally to all elements of the hardware. The CERN licenses are also well represented, with a similar proviso to the software section: CERN licenses applied to hardware also cover any documentation required to make, test, or prepare the hardware for use. That&apos;s not quite as expansive as its coverage with regard to software, but it still probably sweeps in a decent portion of most documentation.&lt;/p&gt;
&lt;h2&gt;Documentation Licenses 2025 (so far)&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;48&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;45&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;32&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;18&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;MIT&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2024&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;134&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;90&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;16&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;15&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2023&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;485&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;55&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;33&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;17&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2022&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;85&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-SA-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;41&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC-BY-4.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;28&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;23&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-P-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-or-later&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC0-1.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;GPL-3.0-only&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2021&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;311&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;39&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;32&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-S-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CERN-OHL-W-2.0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2020&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;844&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;44&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2019&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;90&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;32&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;11&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC 0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2018&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;62&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;38&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2017&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;22&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2 ▲&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1 ▼&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;Documentation Licenses 2016&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:right&quot;&gt;License&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Rank&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Previous Rank&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY-SA&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;1&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;Other&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;23&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:right&quot;&gt;CC BY&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/shop-scene:chndm_1921-6-201-109&quot;&gt;Shop Scene&lt;/a&gt; from the Smithsonian Open Access collection&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Sun, 05 Oct 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/10/05/leading-licenses/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/10/05/leading-licenses/</guid>
    </item>
    
    <item>
      <title>Locked Down Etextbooks Are Also Bad in Italy</title>
      <description>&lt;p&gt;The Italian Competition and Market Authority is currently &lt;a href=&quot;https://www.agcm.it/media/comunicati-stampa/2024/9/IC57&quot;&gt;investigating behavior&lt;/a&gt; in Italy’s textbook industry.  I recently filed a &lt;a href=&quot;https://michaelweinberg.org/docs/IC57_filing_weinberg.pdf&quot;&gt;brief comment&lt;/a&gt; flagging issues that might be worth exploring in the etextbook space.&lt;/p&gt;
&lt;p&gt;The Authority’s Preliminary Report (&lt;a href=&quot;https://www.agcm.it/dotcmsdoc/consultazioni/IC57_RP-Executive%20Summary_ENG_def.pdf&quot;&gt;Executive Summary in English&lt;/a&gt; - thanks AGCM!) gives an overview of what they have been looking into. The full &lt;a href=&quot;https://www.agcm.it/dotcmsdoc/consultazioni/IC57_rapporto%20preliminare_omi.pdf&quot;&gt;Preliminary Report&lt;/a&gt; spends time documenting limitations that the small number of italian textbook publishers are placing on etextbooks and digital materials associated with regular textbooks (see paragraphs 250-272).  This includes locking readers into proprietary reading software that limits functionality (like annotating), severely restricting printing, and making it all but impossible to share portions of textbooks with others.  This behavior is familiar from the &lt;a href=&quot;https://michaelweinberg.org/blog/2023/10/11/own-ebooks/&quot;&gt;&lt;em&gt;Anti-Ownership Ebook Economy&lt;/em&gt;&lt;/a&gt; whitepaper from a few years ago.&lt;/p&gt;
&lt;p&gt;The Authority has the ability to make fairly robust interventions in the market, which could make things interesting.  In my comment, I focused on three main points:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ways in which the transition to digital has allowed publishers to rebalance power between publishers and readers,&lt;/li&gt;
&lt;li&gt;Reminding the Authority that ebooks (and all digital goods) can, in fact, be sold in addition to being licensed, and&lt;/li&gt;
&lt;li&gt;Licensed markets can still be much more flexible than the one that currently exists in Italy&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We’ll see what happens next once the Authority completes its review.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/design-letters-y-and-z-primer-yacht-zephir-yachts-driven-zephyrs:chndm_1938-57-797&quot;&gt;Design for the letters Y and Z of a primer: Yacht/ Zéphir (Yachts driven by Zephyrs)&lt;/a&gt; from the Smithsonian Open Access collection&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 03 Oct 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/10/03/italy-etextbook-antitrust/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/10/03/italy-etextbook-antitrust/</guid>
    </item>
    
    <item>
      <title>Music Competition Without Copyright</title>
      <description>&lt;p&gt;What does competition in the world of music look like without copyright? We may be on the cusp of finding out.&lt;/p&gt;
&lt;p&gt;Over the summer Emanuel Maiberg published a story on 404 Media about &lt;a href=&quot;https://www.404media.co/spotify-publishes-ai-generated-songs-from-dead-artists-without-permission/&quot;&gt;Spotify publishing AI-Generated songs attributed to dead artists that have nothing do to with the artists&lt;/a&gt;.  The story captures the dystopia of managing cultural data at scale, but also contains this interesting (to me) note about trying to track down the source of the not-from-the-artist songs:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There’s a copyright mark at the bottom of the Spotify page for the AI-generated “Together” from a company called Syntax Error.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Why is this interesting? Because, as things stand right now, AI generated works are &lt;a href=&quot;https://www.copyright.gov/ai/Copyright-and-Artificial-Intelligence-Part-2-Copyrightability-Report.pdf&quot;&gt;not eligible for copyright protection&lt;/a&gt;.  Anyone could download and repost an AI generated song on their own Spotify artist page without infringing on any copyright.&lt;/p&gt;
&lt;p&gt;This may not matter very much for this particular song, but it isn’t hard to imagine a situation where multiple AI-powered artists are pumping out the hits. If that becomes a reality, anyone can copy RobotBand’s &lt;em&gt;Robot Party Hit #1&lt;/em&gt;, post it to their own artist page (or youtube channel or tiktok account or whatever) and start monetizing it without infringing on copyright.&lt;/p&gt;
&lt;p&gt;What could the originator of the song do?  Maybe not that much.&lt;/p&gt;
&lt;h2&gt;Copyright?&lt;/h2&gt;
&lt;p&gt;If the song is AI generated, the human team that runs the original &amp;quot;artist&amp;quot; account can’t bring a copyright infringement claim.  The song is not protected by copyright so it is in the public domain.  That means no copyright infringement lawsuit, or even sending a DMCA takedown targeting the uploader. You don’t even need to pretend that you made the copy via &lt;a href=&quot;https://www.techdirt.com/2009/11/06/bluebeat-claims-it-owns-beatles-copyright-by-re-recording-songs-judge-disagrees/&quot;&gt;psycho-acoustic simulation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Of course, the team may argue that the song is collaboratively written between them and AI, so the human contributed elements get copyright protection.  That argument has had mixed success thus far, and is fairly fact-dependent.  So I don&apos;t want to dismiss the possibility out of hand, but that would pull the song outside the scope of this blog post.&lt;/p&gt;
&lt;h2&gt;Trademark?&lt;/h2&gt;
&lt;p&gt;I may not be infringing on any copyrights if I copy &lt;em&gt;Robot Party Hit #1&lt;/em&gt; and release it on my own Spotify artist page, but am I infringing on RobotBand’s trademark?  There is a claim in trademark law called “reverse passing off” where you sell someone else’s goods under your own name.  Is that happening here? Maybe? But the Supreme Court has been &lt;a href=&quot;https://en.wikipedia.org/wiki/Dastar_Corp._v._Twentieth_Century_Fox_Film_Corp.&quot;&gt;wary of attempts to use trademark to control things in the public domain&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Beyond that, the USPTO actually has a &lt;a href=&quot;https://www.uspto.gov/trademarks/laws/rockin-trademark&quot;&gt;page all about trademarking band names&lt;/a&gt;.  That page says that goods featuring musical recordings can be registered under International Class 009.  But those registrations aren’t for the song itself.  Some sounds can be registered as source identifiers (more &lt;a href=&quot;https://www.uspto.gov/trademarks/soundmarks/trademark-sound-mark-examples&quot;&gt;examples from the USPTO&lt;/a&gt;) but, again, those sound marks are things like the NBC chimes - not a pop song.&lt;/p&gt;
&lt;h2&gt;DMCA (1201)?&lt;/h2&gt;
&lt;p&gt;What about a DMCA &lt;a href=&quot;https://www.law.cornell.edu/uscode/text/17/1201&quot;&gt;Section 1201&lt;/a&gt; claim?  That provision prevents circumventing technical protection measures (aka DRM) to access a work.  I would probably need to circumvent a technical protection measure to download RobotBand’s song from Spotify in the first place.  Could RobotBand bring a 1201 claim against me?&lt;/p&gt;
&lt;p&gt;Nope. 1201’s prohibitions against circumventing a technological measure only apply to measures “that effectively control[] access to a work protected under this title,” which is to say a work that is protected by copyright law.  The whole premise of this post is that the song is not protected by copyright law, so no 1201 problem.&lt;/p&gt;
&lt;h2&gt;ToS?&lt;/h2&gt;
&lt;p&gt;What about Spotify’s Terms of Service?  Even if it does not violate Section 1201 or copyright law, downloading a song directly from Spotify likely violates its Terms of Service.&lt;/p&gt;
&lt;p&gt;This could be a problem for the downloader, but it is also a problem for RobotBand.  If the downloader is violating Spotify’s Terms of Service, that’s not something that RobotBand can deal with directly.  Spotify could decide to sue the downloader for violating its ToS.  It would not be so easy for RobotBand to do the same thing (although maybe they are a third party beneficiary with an enforceable interest)?&lt;/p&gt;
&lt;h2&gt;Payola?&lt;/h2&gt;
&lt;p&gt;This might be the most straightforward solution: if every Spotify artist can release &lt;em&gt;Robot Party Hit #1&lt;/em&gt;, the most successful one might be the one who pays Spotify for the most prominent placement.&lt;/p&gt;
&lt;p&gt;But even that raises some interesting questions about pricing.  If the winning version of &lt;em&gt;Robot Party Hit #1&lt;/em&gt; could expect $1.00 in Spotify royalties, a competitive market would drive the amount an artist is willing to pay Spotify for that winning spot up to $0.99.  Unless, of course, there were collateral ways to monetize being the most prominent source of &lt;em&gt;Robot Party Hit #1&lt;/em&gt;. Or Spotify figured out that it was more profitable to just run the song under their own house band name. What would those ways look like? I’m not sure.&lt;/p&gt;
&lt;p&gt;This is all very back-of-the-envelope stuff, and I have no idea how (or if) any of it will manifest. But it is an interesting thought experiment, and one that might play out in the real world before too long.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/musician-and-dog:saam_1971.180&quot;&gt;Musician and Dog &lt;/a&gt; from the Smithsonian Open Access collection&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Tue, 16 Sep 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/09/16/music-competition-without-copyright/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/09/16/music-competition-without-copyright/</guid>
    </item>
    
    <item>
      <title>Which CERN Open Hardware License Should I Use?</title>
      <description>&lt;p&gt;Trying to decide which open hardware license to use? Not super interested in actually reading the text of licenses?  You have come to the right place.  There are a bunch of caveats at the bottom of this post, but let’s get to the heart of things.&lt;/p&gt;
&lt;h2&gt;You Probably Want to Use a CERN License&lt;/h2&gt;
&lt;p&gt;While there are number of open hardware licenses, CERN (yes, &lt;a href=&quot;https://home.cern/&quot;&gt;that CERN&lt;/a&gt;) has released what is the most modern and sophisticated &lt;a href=&quot;https://gitlab.com/ohwr/project/cernohl/-/wikis/Documents/CERN-OHL-version-2&quot;&gt;suite&lt;/a&gt; of them. If you are looking for a license that will basically do what you expect without thinking too much about it, and don’t have an existing preference for another license, this is where you should start.&lt;/p&gt;
&lt;p&gt;CERN’s Version 2.0 suite includes three flavors of licenses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CERN-OHL-&lt;em&gt;P&lt;/em&gt; (permissive) (&lt;a href=&quot;https://ohwr.org/cern_ohl_p_v2.pdf&quot;&gt;text&lt;/a&gt; &lt;a href=&quot;https://gitlab.com/ohwr/project/cernohl/-/wikis/uploads/8a6b5d01f71c207c49493e4d114d61e6/cern_ohl_p_v2_howto.pdf&quot;&gt;user guide&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;CERN-OHL-&lt;em&gt;W&lt;/em&gt; (weakly reciprocal) (&lt;a href=&quot;https://ohwr.org/cern_ohl_w_v2.pdf&quot;&gt;text&lt;/a&gt; &lt;a href=&quot;https://gitlab.com/ohwr/project/cernohl/-/wikis/uploads/c2e5e9d297949b5c2d324a6cbf6adda0/cern_ohl_w_v2_howto.pdf&quot;&gt;user guide&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;CERN-OHL-&lt;em&gt;S&lt;/em&gt; (strongly reciprocal) (&lt;a href=&quot;https://ohwr.org/cern_ohl_s_v2.pdf&quot;&gt;text&lt;/a&gt; &lt;a href=&quot;https://gitlab.com/ohwr/project/cernohl/-/wikis/uploads/cf37727497ca2b5295a7ab83a40fcf5a/cern_ohl_s_v2_user_guide.pdf&quot;&gt;user guide&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Which one should you use?&lt;/p&gt;
&lt;h3&gt;You should use &lt;strong&gt;CERN-OHL-P&lt;/strong&gt; if…&lt;/h3&gt;
&lt;p&gt;you want people to give you credit for creating your hardware, and not require very much else.  P’s main requirement is that anyone who uses or builds upon your hardware keep the original “notices” intact.  What are “notices”?  Mostly the acknowledgements that you created the original version, as well as the disclaimer of warranties. Beyond that, they can more or less do as they please.&lt;/p&gt;
&lt;h4&gt;Open Source Source Software License Equivalents&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;P&lt;/strong&gt; is conceptually similar to licenses like &lt;strong&gt;&lt;a href=&quot;https://choosealicense.com/licenses/mit/&quot;&gt;MIT&lt;/a&gt;&lt;/strong&gt; or &lt;strong&gt;&lt;a href=&quot;https://choosealicense.com/licenses/bsd-2-clause/&quot;&gt;BSD&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;You should use &lt;strong&gt;CERN-OHL-W&lt;/strong&gt; if …&lt;/h3&gt;
&lt;p&gt;you want people to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;give you credit for creating your hardware &lt;strong&gt;AND&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;openly license their own modifications to your hardware &lt;strong&gt;BUT&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;not require that larger projects incorporating your hardware become openly licensed too.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to keeping notices, W’s “weak” reciprocity means that any modifications need to be openly licensed as well.  That reciprocity is weak because it does not extend to situations where your smaller hardware is incorporated into larger hardware.&lt;/p&gt;
&lt;p&gt;For example, imagine you created a small piece of hardware that controls a robotic eye socket.  If someone modified your robot eye socket hardware, their new version would have to be openly licensed.  &lt;strong&gt;However,&lt;/strong&gt; if they plugged your robot eye socket hardware into their own Giant Death Robot, the rest of the Giant Death Robot would not need to be openly licensed just because it incorporated your open element.&lt;/p&gt;
&lt;h4&gt;Open Source Source Software License Equivalents&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;W&lt;/strong&gt; is conceptually similar to licenses like the &lt;strong&gt;&lt;a href=&quot;https://choosealicense.com/licenses/lgpl-3.0/&quot;&gt;LGPL&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;You should use &lt;strong&gt;CERN-OHL-S&lt;/strong&gt; if…&lt;/h3&gt;
&lt;p&gt;you want people to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;give you credit for creating your hardware &lt;strong&gt;AND&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;openly license their own modifications to your hardware &lt;strong&gt;AND&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;require that larger projects incorporating your hardware become openly licensed too.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The reciprocity in S is strong because it extends to any hardware that incorporates your hardware.  If the Giant Death Robot incorporated your CERN-OHL-S licensed eye socket, the entire robot would need to be released under that license as well.&lt;/p&gt;
&lt;h4&gt;Open Source Source Software License Equivalents&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;W&lt;/strong&gt; is conceptually similar to licenses like the &lt;strong&gt;&lt;a href=&quot;https://choosealicense.com/licenses/gpl-3.0/&quot;&gt;GPL&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;More Information&lt;/h2&gt;
&lt;p&gt;This blog post is short and just skims the surface of these licenses.  If you want more detail, CERN itself has a great &lt;a href=&quot;https://gitlab.com/ohwr/project/cernohl/-/wikis/uploads/0be6f561d2b4a686c5765c74be32daf9/CERN_OHL_rationale.pdf&quot;&gt;rationale document&lt;/a&gt; explaining why they created this version of the licenses, and &lt;a href=&quot;https://gitlab.com/ohwr/project/cernohl/-/wikis/faq&quot;&gt;FAQ&lt;/a&gt; related to them.  There are also user guides for each license, and a separate &lt;a href=&quot;https://ospo.docs.cern.ch/recommendations/hw-best-practices/&quot;&gt;best practices document&lt;/a&gt; from their Open Source Program Office.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://choosealicense.com/&quot;&gt;ChooseALicense.com&lt;/a&gt; also has pages for the &lt;a href=&quot;https://choosealicense.com/licenses/cern-ohl-p-2.0/&quot;&gt;P&lt;/a&gt;, &lt;a href=&quot;https://choosealicense.com/licenses/cern-ohl-w-2.0/&quot;&gt;W&lt;/a&gt;, and &lt;a href=&quot;https://choosealicense.com/licenses/cern-ohl-s-2.0/&quot;&gt;S&lt;/a&gt; licenses.&lt;/p&gt;
&lt;p&gt;And, of course, OSHWA has a whole &lt;a href=&quot;https://certification.oshwa.org/process/hardware.html&quot;&gt;suite of materials&lt;/a&gt; about how to think about licensing and open source hardware (click on the “licensing” tab), as well as a &lt;a href=&quot;https://oshwa.org/resources/sharing-best-practices/&quot;&gt;best practices document&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Finally, you can just &lt;a href=&quot;https://gitlab.com/ohwr/project/cernohl/-/wikis/Documents/CERN-OHL-version-2&quot;&gt;read the licenses themselves&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Caveats&lt;/h2&gt;
&lt;p&gt;There are two important caveats to this post.&lt;/p&gt;
&lt;p&gt;First, even though I am a lawyer, I am not your lawyer and this post is not legal advice.  If you have questions about the specifics of licensing your hardware, trust your instincts and talk to a lawyer who can actually be your lawyer.&lt;/p&gt;
&lt;p&gt;Second, analogies between open source software licensing and open source hardware licensing are helpful but imperfect.  The most practical impact of this imperfection is that creators of hardware may not always be able to legally enforce licensing obligations (like a requirement for open Giant Killer Robots) on downstream users.  On balance this is a positive thing because it marks the limits of copyright, but it can create some confusion.  There is more information about these limits &lt;a href=&quot;https://michaelweinberg.org/post/145301850875/the-missing-half-of-open-source-hardware-licenses&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://michaelweinberg.org/post/156095370255/is-it-better-to-over-license&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Open source hardware licensing is still valuable!  It just works slightly differently than open source software licenses. The best way to think about open source hardware licenses is that they:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remove potential legal barriers to good actors&lt;/li&gt;
&lt;li&gt;Send strong social signals about how you want your hardware to be used&lt;/li&gt;
&lt;li&gt;May impose obligations on other users, but those obligations are not guaranteed to be legally enforceable in all situations (again, this is a situation where talking to a lawyer can give you real clarity).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/shop-scene:chndm_1921-6-201-109&quot;&gt;Shop Scene&lt;/a&gt; from the Smithsonian Open Access collection&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 08 Aug 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/08/08/which-open-hardare-license/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/08/08/which-open-hardare-license/</guid>
    </item>
    
    <item>
      <title>Are AI Bots Knocking Cultural Heritage Offline?</title>
      <description>&lt;p&gt;Last week the &lt;a href=&quot;https://www.glamelab.org/&quot;&gt;GLAM-E Lab&lt;/a&gt; released a new report &lt;a href=&quot;https://michaelweinberg.org/docs/Are_AI_Bots_Knocking_Cultural_Heritage_Offline.pdf&quot;&gt;&lt;em&gt;Are AI Bots Knocking Cultural Heritage Offline?&lt;/em&gt;&lt;/a&gt;.  The short answer seems to be “yes”.  The longer answer fills a report.&lt;/p&gt;
&lt;p&gt;The report exists because we started seeing one-off accounts from online cultural heritage collections that swarms of bots were knocking the collections offline.  The bots were overwhelming the site as they scraped it for data to include in the datasets used to train AI models.  The goal of the report is to start to understand if these stories were outliers, or just the early rumblings of something bigger.&lt;/p&gt;
&lt;p&gt;After talking to dozens of cultural institutions around the world, it is pretty clear that the early descriptions were the early rumblings of something bigger.  The online collections are starting to strain, and things might be worse before they get better.&lt;/p&gt;
&lt;p&gt;While this is bad, I do think there is some room for optimism.  In the medium- to long-term, it is in everyone’s interest to keep these collections online.  The entities scraping the collections want them to remain available so that they can keep scraping them, and the entities that support the collections want them to remain available because it is part of their mission.  The current practice of swarming large numbers of bots in short periods of time (thus creating an overwhelming amount of traffic) could easily be spread out over a sustainable longer period of time.  As the players creating these datasets stabilizes, it is not hard to imagine incentives aligning to adopt some sort of &lt;a href=&quot;https://en.wikipedia.org/wiki/Robots.txt#Crawl-delay_directive&quot;&gt;crawl-delay&lt;/a&gt; standard.&lt;/p&gt;
&lt;p&gt;I also think this is an interesting problem because it is (at least conceptually) severable from more complex debates around the relationship between these collections and generative AI more broadly.  Those debates – which the report describes broadly as “policy” debates – center on the nature of open collections, what it means for the commons to be integrated into models, and how (or if) copyright is relevant to that conversation.  In contrast, this problem is more technical in nature: how do we keep collections online and available in a sustainable way?&lt;/p&gt;
&lt;p&gt;The report has a lot more detail on what collections are experiencing right now. I hope it acts as a useful snapshot of a moment in time that can be used as a reference point in the future.&lt;/p&gt;
</description>
      <pubDate>Wed, 25 Jun 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/06/25/ai-scraper-report/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/06/25/ai-scraper-report/</guid>
    </item>
    
    <item>
      <title>Does an AI Dataset of Openly Licensed Works Matter?</title>
      <description>&lt;p&gt;A team just announced the release of the &lt;a href=&quot;https://github.com/r-three/common-pile/tree/main&quot;&gt;Common Pile&lt;/a&gt;, a large dataset for training large language models (LLMs).  Unlike other datasets, Common Pile is built exclusively on “openly licensed text.”  On one hand, this is an interesting effort to build a new type of training dataset that illustrates how even the “easy” parts of this process are actually hard. On the other hand, I worry that some people read “openly licensed training dataset” as the equivalent of (or very close to) “LLM free of copyright issues.”&lt;/p&gt;
&lt;p&gt;There is an active fight over whether or not training an LLM on data infringes on the copyright in that data. If the activity is protected by fair use (in the US) the license on the work does not matter because the trainer does not need permission from the rightsholder.  If the activity is not protected by fair use, the license on the work matters a lot. The only way to train without infringing would be to do so within the scope of a license (open, closed, or otherwise).&lt;/p&gt;
&lt;p&gt;In response to this, there are a number of efforts to build openly licensed datasets.  The theory is that, if it turns out that training models requires permission from the data rightsholders, open data comes with that permission built in.&lt;/p&gt;
&lt;p&gt;There are a few problems, or at least complications, with this approach. I am not suggesting that the Common Pile team in particular has failed to wrestle with these. Instead, this is a generalized list of problems that have come up across conversions around open training datasets.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Openly licensed does not mean free from restrictions.&lt;/strong&gt;  Very few open licenses are public domain dedications.  At a minimum, most of them require some sort of attribution to the original creator.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It is not clear what attribution means in the case of LLMs or their outputs.&lt;/strong&gt;  At least conceptually, including attribution information in a dataset is fairly straightforward - it’s just metadata.  That is less straightforward when it comes to the models themselves. What does it mean to give attribution to the 2 trillion tokens used to train a model? Attribution is even harder when it comes to outputs. What’s the best way for an output to provide attribution for the 2 trillion tokens involved in training the model that produced it?  And these are just the easy cases. These questions &lt;a href=&quot;https://michaelweinberg.org/blog/2024/07/15/ai-attribution-what-does-it-mean/&quot;&gt;get harder the more you think about them&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Do we even want to import attribution practices into training datasets?&lt;/strong&gt;  The core concept of attribution has proven to be incredibly useful across a range of open communities. However, it may not be the right solution to every problem.  I keep coming back to a post by Kate Downing that points out that attribution requirements for open source software &lt;a href=&quot;https://katedowninglaw.com/2022/11/28/is-open-source-attribution-dead/&quot;&gt;does not necessarily scale very well&lt;/a&gt;.  If we know attribution does not scale well at the scale of open source software, do we want to bring it into the exponentially larger LLM context?  Maybe? But also maybe not?  It strikes me as a question that deserves more thought before we just assume it makes sense.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If there is not a way to comply with requirements of an open license, is spending time building an openly licensed training dataset worthwhile?&lt;/p&gt;
&lt;p&gt;The answer may very well be “yes”.  However, I worry that there is a tendency to jump directly from “this is an openly licensed dataset” to “we can use it without worrying about copyright”.  At a minimum, there is value in articulating how an openly licensed dataset would interact with a goal of creating a model free from copyright-based constraints. Of course, I’m always going to say that people need to spend more time thinking about the copyright aspects of their work…&lt;/p&gt;
&lt;p&gt;Coming back to the Common Pile paper specifically, as I mentioned at the top, it does a great job of showing how even easy things are hard.  Faced with the challenge of building an openly licensed dataset, it is intuitive to start with platforms that host a lot of openly licensed content.  Section 2 of &lt;a href=&quot;https://github.com/r-three/common-pile/blob/main/paper.pdf&quot;&gt;the paper&lt;/a&gt; is all about the traps waiting for you on those platforms. What about people who post things under an open license when they are not the rightsholders? Which licenses count as open? What about collection-level licenses that do not reflect the licensing of the included works?&lt;/p&gt;
&lt;p&gt;This stuff is hard enough to do by hand that &lt;a href=&quot;https://michaelweinberg.org/blog/2024/03/08/ai-image-clearance/&quot;&gt;I wrote a whole blog post about clearing a single image from a training dataset&lt;/a&gt;.  What should it mean when someone makes the inevitable mistakes at scale?  If the dataset has 2 billion tokens, how many not-actually-openly-licensed tokens should spoil the set?  10? 10 million? What if the 10 are owned by Disney?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hero Image: &lt;a href=&quot;https://www.si.edu/object/archives/components/sova-nmah-ac-0433-ref4644&quot;&gt;A portion of &amp;quot;Kriegsanleihe&amp;quot; from the Smithsonian Open Access Collection&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Thu, 12 Jun 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/06/12/do-open-datasets-matter/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/06/12/do-open-datasets-matter/</guid>
    </item>
    
    <item>
      <title>Pi-Powered Berlin BVG Alerts</title>
      <description>&lt;p&gt;Moving from NYC to Berlin gave me an excuse to update my old &lt;a href=&quot;https://michaelweinberg.org/post/171963532565/pi-powered-mta-subway-alerts&quot;&gt;Pi-Powered MTA Subway Alerts&lt;/a&gt; project for the BVG.  Now, as then, the goal of the project is to answer the question “if I leave my house now, how long will I have to wait for my subway train?”.  Although, in this case, instead of just answering that question about the subway train, it also answers it for trams.&lt;/p&gt;
&lt;p&gt;The full repo is available &lt;a href=&quot;https://github.com/mwweinberg/bvg_lights&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The project uses a raspberry pi zero to connect to the BVG real time arrival data with neopixels.  The neopixels give you an indication of how far trains are away from the station. Importantly, the alerts are  not based on the absolute time until the train arrives at the station (”A train will arrive at the station in 5 minutes”).  Instead, the alerts are aware of how long it takes to walk to the station from my apartment and are therefore based on the time from the station when you get there (”If you leave now and walk to the station, there will be a train arriving in the station 5 minutes after you get there.”).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://michaelweinberg.org/images/bvg_light_annotated.png&quot; alt=&quot;image of indicator light, with led strips for each line and text explaining what some of the lights represent&quot;&gt;&lt;/p&gt;
&lt;p&gt;For example, the strip coming down from the top represents the southbound M10 tram.  The light at the bottom of that strip (the light closest to the center) will be on when the tram is coming &amp;quot;now,&amp;quot; with &amp;quot;now&amp;quot; being defined as &amp;quot;if you leave the apartment now and start walking towards the station, the tram will be at the platform when you get there.&amp;quot; Similarly, &amp;quot;2 minutes&amp;quot; means &amp;quot;you can wait 2 minutes to leave&amp;quot; or &amp;quot;you will wait at the station for 2 minutes if you leave now.&amp;quot;&lt;/p&gt;
&lt;p&gt;Everything is basically the same as the MTA version of the project, except that I am using a strip of LEDs instead of individually soldering them. This is much easier!&lt;/p&gt;
&lt;h2&gt;Install Neopixels on Pi&lt;/h2&gt;
&lt;p&gt;There are some tricks to setting up the neopixels to work on the pi.  Here are the steps, which are spread across a few adafruit explainers:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Install blinka library to be able to use circutpython :
&lt;a href=&quot;https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi&quot;&gt;https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi&lt;/a&gt;
(You need to turn on the virtual environment every time: &lt;code&gt;source env/bin/activate&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;install neopixel library:
&lt;a href=&quot;https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage&quot;&gt;https://learn.adafruit.com/neopixels-on-raspberry-pi/python-usage&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;do the things required to use sudo for the neopixel library:
&lt;a href=&quot;https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/usage-with-sudo&quot;&gt;https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/usage-with-sudo&lt;/a&gt;
(&lt;code&gt;sudo -E env PATH=$PATH python3 neo_test.py&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;make it run at startup:
&lt;a href=&quot;https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/automatically-running-at-boot&quot;&gt;https://learn.adafruit.com/python-virtual-environment-usage-on-raspberry-pi/automatically-running-at-boot&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;The Code&lt;/h2&gt;
&lt;p&gt;The code starts with a bunch of settings, including the station you are pulling data about, how long it takes to get from wherever you are to the platforms, and lists for the lines you are tracking.&lt;/p&gt;
&lt;h3&gt;grabber()&lt;/h3&gt;
&lt;p&gt;After that, the code is basically two functions. &lt;code&gt;grabber()&lt;/code&gt; gets all of the departure times related to the lines and puts them in the lists.  Before putting each departure time in the list, it adjusts it based on the travel time. For example, if your &lt;code&gt;tram_walk_time&lt;/code&gt; is &lt;code&gt;6&lt;/code&gt; and a tram is scheduled to leave in 10 minutes, &lt;code&gt;grabber()&lt;/code&gt; will add it to the list as &lt;code&gt;4&lt;/code&gt; because, by the time you walk to the station, the train will be leaving in 4 minutes.&lt;/p&gt;
&lt;p&gt;If you are customizing this, you will need to update all of the if statements that parse the train info so they are pulling data for the correct lines and directions.  For example, here is the if statement for the U5:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;if i[&apos;line&apos;][&apos;name&apos;] == &apos;U5&apos;:
     if i[&apos;direction&apos;] == &apos;Hönow&apos;:
          u5_eastbound.append(get_modified_departure_time(i[&apos;when&apos;], i[&apos;line&apos;][&apos;productName&apos;]))
     elif i[&apos;direction&apos;] == &amp;quot;S+U Hauptbahnhof&amp;quot; or &amp;quot;Hauptbahnhof&amp;quot;:
          u5_westbound.append(get_modified_departure_time(i[&apos;when&apos;], i[&apos;line&apos;][&apos;productName&apos;]))
     else:
          error_direction = i[&apos;direction&apos;]
          print(f&apos;unexpected U5 direction: {error_direction}&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;first it finds all of the entries for the U5:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;if i[&apos;line&apos;][&apos;name&apos;] == &apos;U5&apos;:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;then it looks for trains in the direction of Hönow:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;if i[&apos;direction&apos;] == &apos;Hönow&apos;:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;then it runs the &lt;code&gt;get_modified_departure_time()&lt;/code&gt; function to get the modified departure time (the actual departure time modified by how long it takes to get to the station) and appends it to the &lt;code&gt;u5_eastbound&lt;/code&gt; list created at the top of the script.&lt;/p&gt;
&lt;p&gt;The same thing happens for trains headed towards Hauptbahnhof, with an error message if something goes wrong.&lt;/p&gt;
&lt;p&gt;Once &lt;code&gt;grabber()&lt;/code&gt; is done, each of the line lists are full of modified times for trains.&lt;/p&gt;
&lt;h3&gt;lighter()&lt;/h3&gt;
&lt;p&gt;The second function, &lt;code&gt;lighter()&lt;/code&gt; uses the lists to light up the neopixels.  The logic for which lights turn on based on the train time is in this block of code:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;for i in arrival_list:
     if 0 &amp;lt;= i &amp;lt;= 1:
          #light the corresponding light
          pixels[light_1] = light_color
          #remove the light from the list so it does not go black
          if light_1 in light_list: light_list.remove(light_1)
     elif 2 &amp;lt;= i &amp;lt;= 3:
          pixels[light_2] = light_color
          if light_2 in light_list: light_list.remove(light_2)
     elif 4 &amp;lt;= i &amp;lt;= 7:
          pixels[light_3] = light_color
          if light_3 in light_list: light_list.remove(light_3)
     elif 8 &amp;lt;= i &amp;lt;= 12:
          pixels[light_4] = light_color
          if light_4 in light_list: light_list.remove(light_4)
     elif 13 &amp;lt;= i &amp;lt;= 20:
          pixels[light_5] = light_color
          if light_5 in light_list: light_list.remove(light_5)
     else:
          pass 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can set the bands to be whatever you want by changing the values on the &lt;code&gt;elif&lt;/code&gt; lines. For example&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;elif 2 &amp;lt;= i &amp;lt;= 3:
     pixels[light_2] = light_color
     if light_2 in light_list: light_list.remove(light_2)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;means that if the train arrival time is between 2 and 3 minutes away (&lt;code&gt;elif 2 &amp;lt;= i &amp;lt;= 3:&lt;/code&gt;), the second light for the line will turn on the appropriate color (&lt;code&gt;pixels[light_2] = light_color&lt;/code&gt;).  You could change &lt;code&gt;elif 2 &amp;lt;= i &amp;lt;= 3:&lt;/code&gt; to &lt;code&gt;elif 1 &amp;lt;= i &amp;lt;= 10:&lt;/code&gt; if you wanted a wider band or whatever.&lt;/p&gt;
&lt;h3&gt;The Loop&lt;/h3&gt;
&lt;p&gt;Now that the functions are set, the script just loops.&lt;/p&gt;
&lt;p&gt;First it checks the current time:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;now_time = datetime.now()&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I only need the lights running during the day, so it then checks to see if the current time is between 8am and 10pm:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;if 8 &amp;lt;= now_time.hour &amp;lt; 22:&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If it is, it runs &lt;code&gt;grabber()&lt;/code&gt; and then &lt;code&gt;lighter()&lt;/code&gt; for all of the lines.  In addition to giving &lt;code&gt;lighter()&lt;/code&gt; the line argument, it identifies which actual pixel in the strip is the &amp;quot;first,&amp;quot; &amp;quot;second,&amp;quot; etc. pixel for that color.  The strip is continuous, so the 15th pixel in an absolute sense might be the first pixel in the U5 westbound set of lights.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;lighter(u5_westbound, &apos;u5&apos;, 15, 16, 17, 18, 19)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If it is not during the day, the pixels all turn off:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;else:	
     #turn them off 
     for i in range(number_of_pixels):
          pixels[i] = (0,0,0)
     print(&apos;lights out&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Finally, the script waits for 10 seconds before doing it all again:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;time.sleep(10)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;that seems long enough to keep the data reasonably accurate without hammering the bvg servers.&lt;/p&gt;
</description>
      <pubDate>Sat, 08 Mar 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/03/08/pi-powered-bvg-alerts/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/03/08/pi-powered-bvg-alerts/</guid>
    </item>
    
    <item>
      <title>Bluesky Bot to Translate Local News</title>
      <description>&lt;p&gt;I made a &lt;a href=&quot;https://bsky.app/profile/berlin-news-en.bsky.social&quot;&gt;bot&lt;/a&gt; that automatically translates bluesky tweets* from a list of accounts into english.  It is written in python.&lt;/p&gt;
&lt;p&gt;I recently relocated to Berlin.  Since I don’t speak german (yet?), I’ve been looking for ways to stay up to date with local news.  There are a handful of english-language publications that cover Berlin and Germany, and I appreciate all of them. However, by necessity, they are not resourced to be comprehensive local news resources.&lt;/p&gt;
&lt;p&gt;As you would expect, there is also a robust local german-language press.  I read their sites, but since I haven’t found a way to turn on auto-translate at the domain level, there is friction in waiting to translate each story (yes, this thing is partially motivated by the comically first world problem of having to click an extra button for a robot to translate an article for me).&lt;/p&gt;
&lt;p&gt;Bluesky has become a good way for me to get an ambient sense of what’s going on in the world, with pointers to articles that can give me more context. However, the reporters for the local press tweet in german.  Fortunately, bluesky has a pretty open and robust API.  What if I made a bot that posts translated tweets so they just integrate into the rest of my doom scrolling?&lt;/p&gt;
&lt;h2&gt;Workflow&lt;/h2&gt;
&lt;p&gt;You could build a bot like this by attaching to the bluesky firehose, filtering for the accounts you care about, and then going from there. However, as ‘firehose’ suggests, that requires receiving and filtering the entire stream of all bluesky posts.  Fortunately, all bluesky accounts are also RSS feeds. That means I can use existing python libraries to pull data from them selectively.&lt;/p&gt;
&lt;p&gt;The workflow for the bot starts with a list of accounts. It is an &lt;a href=&quot;https://bsky.app/profile/berlin-news-en.bsky.social/lists/3lg424mfsl42l&quot;&gt;actual bluesky list that the bot account maintains&lt;/a&gt;, although it could be any public bluesky list.&lt;/p&gt;
&lt;p&gt;When the python script starts, it creates objects for each of the users in the list and saves the current time.  Then, every 2 minutes it checks the RSS feed for each of the accounts in the list. If the latest post in the RSS feed is newer than the time the script started, the script:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;extracts the text of the tweet&lt;/li&gt;
&lt;li&gt;sends the extracted text to the google translate API (if you have hit the daily limit on google, it rolls over to azure)&lt;/li&gt;
&lt;li&gt;builds a new tweet that includes the source handle (with a link to the account - not a mention because I assume that would be annoying), the tweet text (including any links), and a link to the original tweet&lt;/li&gt;
&lt;li&gt;resets the “is the latest post time newer than” time to the time of that post, so it knows not to deal with the account again until there is an even newer post&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As of now, the bot does not support RT/comments or images because those do not show up in the RSS feeds.&lt;/p&gt;
&lt;h2&gt;The Code&lt;/h2&gt;
&lt;p&gt;The full repo is &lt;a href=&quot;https://github.com/mwweinberg/bluesky_de&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Importing Secrets&lt;/h3&gt;
&lt;p&gt;The script itself starts by importing a bunch of libraries, including a local library.  That library is a separate file called &lt;code&gt;secrets.py&lt;/code&gt;.  As the name suggests, this is where user-specific secrets live.&lt;/p&gt;
&lt;p&gt;If you are using this yourself, you can open &lt;code&gt;example-secrets.py&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;translation_api_key = &apos;YOUR GOOGLE TRANSLATE API KEY&apos;
user_name = &apos;ACCOUNT NAME (NO @ SYMBOL)&apos;
password = &apos;PASSWORD&apos;
azure_key = &apos;YOUR AZURE KEY&apos;
azure_location = &apos;YOUR AZURE LOCATION&apos;
azure_endpoint = &apos;YOUR AZURE ENDPOINT&apos;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;add your personal variables, and save it as &lt;code&gt;secrets.py&lt;/code&gt;. The &lt;code&gt;user_name&lt;/code&gt; and &lt;code&gt;password&lt;/code&gt; are for the bluesky account you want to do the tweeting (make sure you have an app-specific password for this, not your general bluesky account password).  &lt;code&gt;translation_api_key&lt;/code&gt; is for the google translate account that will be doing the translating. THe azure related variables are for the azure account.&lt;/p&gt;
&lt;h3&gt;Variables and Initial Setup&lt;/h3&gt;
&lt;p&gt;The next chunk of code sets up some initial variables.  It sets the language to translate to, imports the api keys, and initializes the bluesky client.  The last thing it does is identify the list of accounts to be followed.  For example, my bot follows this list: &lt;a href=&quot;https://bsky.app/profile/berlin-news-en.bsky.social/lists/3lg424mfsl42l&quot;&gt;https://bsky.app/profile/berlin-news-en.bsky.social/lists/3lg424mfsl42l&lt;/a&gt;.  Using native bluesky lists makes it easy to add new accounts to the bot.&lt;/p&gt;
&lt;h3&gt;Azure Translation Setup&lt;/h3&gt;
&lt;p&gt;The next section sets up headers and variables for the Azure translation. Both Google and Azure have free tiers of their translation API.  Since tweets are definitionally small amounts of data, it should be easy to stay below the limits.  The bot is currently set up to start with google and then roll over to Azure once the limit is set, but you could also just switch the sequence.&lt;/p&gt;
&lt;h3&gt;Getting the Users&lt;/h3&gt;
&lt;p&gt;The first thing that the code really does is create a bunch of user objects.  Each object represents a user and has elements: &lt;code&gt;user_name&lt;/code&gt;, &lt;code&gt;last_post_time&lt;/code&gt;, &lt;code&gt;rss_url&lt;/code&gt;, &lt;code&gt;target_profile_url&lt;/code&gt;, and &lt;code&gt;DID&lt;/code&gt;.  These objects are added to the &lt;code&gt;user_holder&lt;/code&gt; list. The functions in this section get the usernames from the list, pull the relevant RSS feed urls (which is buried in the source code for each user profile page), and sets the &lt;code&gt;last_post_time&lt;/code&gt;.  For reasons that I do not fully understand, the RSS feed of a small subset of public bluesky accounts returns a 403 error.  If the rss url does not exist, or if it does exist but only throws an error, the account is not added to the &lt;code&gt;user_holder&lt;/code&gt; list:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-python&quot;&gt;     if rss_url == &apos;error&apos;:
          print(&amp;quot;did not create object for &amp;quot; +i + &amp;quot; because the link did not exist&amp;quot;)
     elif feedparser.parse(rss_url).status == 403:
          print(&amp;quot;did not create object for &amp;quot; +i + &amp;quot; because the link threw a 403 error&amp;quot;)
     else:&apos;

          user_holder.append(User(i, last_post_time, rss_url, target_profile_url, user_DID))
          #this is just a better way to confirm things are working at startup
          print(f&apos;created object for {i}&apos;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It also repeats this action at the start of every loop, so it will pick up accounts that have been added to the list while it is running&lt;/p&gt;
&lt;h3&gt;Get Tweets, Translate Them, and Post&lt;/h3&gt;
&lt;p&gt;When the script starts, it sets the last post time for each account at that moment.  Every 2 minutes, it checks to see if there is a tweet that was posted more recently than that last post time. If so, pulls the text of the new tweet, sends it to be translated, puts together a new tweet, sends it out, and updates the last post time accordingly.  The functions that do that are reasonably well labeled, but there are some things worth flagging:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The translation APIs have problems with quotes and hashes, so they are replaced before they are sent to translation (&lt;code&gt;uncleaned_translated_text&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Since I&apos;ve set a daily character translation limit in the google translation API, it will throw an error after hitting the limit.  That&apos;s why the &lt;code&gt;try&lt;/code&gt; - &lt;code&gt;except&lt;/code&gt; in the &lt;code&gt;translate_tweet_text&lt;/code&gt; function works.&lt;/li&gt;
&lt;li&gt;There is also some code to handle things like URLs, which case problems with translation (especially when the text of the tweet needs to be broken up)&lt;/li&gt;
&lt;li&gt;In an attempt to minimize overly-long tweets, it replaces full urls with a hyperlinked &lt;code&gt;link&lt;/code&gt;, and also tags mentioned accounts so that you can click through to them&lt;/li&gt;
&lt;li&gt;The new tweet includes the username of the original tweeter. That can make it too long to fit into a single tweet.  The script will check the length of the new tweet and break it up into two tweets of necessary. It does this by trying to send the tweet and, if doing so throws an error, using &lt;code&gt;one_tweet_to_two_tweets&lt;/code&gt; to turn it into two tweets.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Running&lt;/h3&gt;
&lt;p&gt;The script will loop every 2 minutes until it crashes.  Each loop it will provide an update on new accounts (usually &lt;code&gt;no new accounts in list&lt;/code&gt;), how many times it has looped since the start (&lt;code&gt;loop_counter is now 39&lt;/code&gt;), and how many tweets it has sent out since the start (&lt;code&gt;change_counter is now 3&lt;/code&gt;). It uses &lt;code&gt;change_counter&lt;/code&gt; for the last message because each time it sends a tweet it updates the &lt;code&gt;last_post_time&lt;/code&gt; for that account.&lt;/p&gt;
&lt;p&gt;I&apos;ve found this to be relatively stable for the past few months. The biggest problem I have right now is that when it crashes it just stops tweeting. That means it usually takes me a few days to realize that it&apos;s gone.&lt;/p&gt;
&lt;p&gt;One other strange thing I&apos;ve noticed is that other accounts are responding to some of the tweets (see &lt;a href=&quot;https://bsky.app/notifications&quot;&gt;https://bsky.app/notifications&lt;/a&gt;). I more or less assume that these are bots designed to search out any keywords, but I have no idea what&apos;s really going on there.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;All posts to text-based social media platforms are tweets. When Twitter became X, ‘tweet’ became a generic term. That’s my personal canon.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/german-mail-coach-model:npm_0.052985.267&quot;&gt;German mail coach model&lt;/a&gt; from the Smithsonian Open Access Collection.&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 10 Jan 2025 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2025/01/10/bluesky_de/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2025/01/10/bluesky_de/</guid>
    </item>
    
    <item>
      <title>New Open GLAM Toolkit &amp; Open GLAM Survey from the GLAM-E Lab</title>
      <description>&lt;p&gt;&lt;em&gt;This post &lt;a href=&quot;https://www.nyuengelberg.org/news/new-open-glam-toolkit-and-open-glam-survey-from-the-glam-e-lab/&quot;&gt;originally appeared&lt;/a&gt; on the Engelberg Center blog&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Today the &lt;a href=&quot;https://www.glamelab.org/&quot;&gt;GLAM-E Lab&lt;/a&gt;, a collaborative project between the Engelberg Center and the University of Exeter (UK), is releasing a number of tools and resources for the open GLAM (Galleries, Libraries, Archives, and Museum) community.&lt;/p&gt;
&lt;p&gt;First, the GLAM-E Lab has launched an &lt;a href=&quot;https://www.glamelab.org/tools/&quot;&gt;Open GLAM Toolkit&lt;/a&gt;! This suite of tools, developed directly with GLAM organizations, can be used by any cultural organization to develop their own access program and release collections for public reuse. The toolkit even includes templates for &lt;a href=&quot;https://www.glamelab.org/policies/&quot;&gt;model internal and external open access policies&lt;/a&gt; for setting up new workflows and website policies.&lt;/p&gt;
&lt;p&gt;Second, today the GLAM-E Lab has also launched a &lt;a href=&quot;https://survey.glamelab.org/&quot;&gt;website-based version of the Open GLAM Survey&lt;/a&gt;. The &lt;a href=&quot;https://survey.glamelab.org/&quot;&gt;Survey&lt;/a&gt;’s new format makes it much easier to find, explore, and analyze open GLAM organizations around the world than was previously possible via the Google Spreadsheet format.&lt;/p&gt;
&lt;p&gt;Third, both of these are only possible because of our collaborators’ engagement. The GLAM-E Lab model is to work directly with GLAM organizations to remove legal barriers to creating open access programs, and convert that work into the standard toolkits that other organizations can use. We set a goal to work with &lt;strong&gt;24 different GLAM organizations by the end of 2024&lt;/strong&gt;, and we’ve even &lt;strong&gt;exceeded that goal&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;Finally, all of this work led to the GLAM-E Lab winning Wikimedia UK’s Partnership of the Year Award for 2024!&lt;/p&gt;
&lt;p&gt;You can watch our &lt;a href=&quot;https://youtu.be/HqDGfJ-PrCk&quot;&gt;announcement video on YouTube&lt;/a&gt; and find more details below on these announcements. Of course, if you or someone else would be interested in working with us in 2025, please let us know!&lt;/p&gt;
&lt;h2&gt;OpenGLAM Toolkit&lt;/h2&gt;
&lt;p&gt;The Open GLAM Toolkit is built on everything that we have learned from working with GLAM-E Lab collaborators. When used together, the toolkit resources will help cultural organizations identify, prepare, and publish their digital collections for open access using public domain or other machine readable statements. It includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://www.glamelab.org/products/go-open-with-glam-e/&quot;&gt;Onboarding Document&lt;/a&gt; introduces users to the GLAM-E Lab method of building an open access program. It gives you a clearer picture of what open means in practice for you, your institution, your collections, and your community.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.glamelab.org/products/assessing-and-mitigating-risk/&quot;&gt;Assessing and Mitigating Risk&lt;/a&gt; provides an overview of how to set and apply risk tolerances and takedown procedures for images and data.&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;https://www.glamelab.org/products/copyright-clearance-handbook-for-public-domain-publications&quot;&gt;Copyright Clearance Handbook for Public Domain Publication of Digital Collections&lt;/a&gt; and &lt;a href=&quot;https://docs.google.com/spreadsheets/d/1ce9ypE6gZDWoCSpWKe42ibb0fl-V1V3WtfQqFIpCwCU/edit?gid=884319758#gid=884319758&quot;&gt;Copyright Clearance Log&lt;/a&gt; guides users through the process of clearing copyright with the goal of assigning the &lt;a href=&quot;https://creativecommons.org/publicdomain/zero/1.0/&quot;&gt;CC0 1.0 Universal Public Domain Dedication&lt;/a&gt; when it is appropriate and lawful to do so. Once copyright is cleared, they can then add the creator or work to the Copyright Clearance Log to document the copyright status.&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;https://www.glamelab.org/products/image-and-metadata-handbook-for-wikimedia-commons/&quot;&gt;Image and Metadata Handbook for Wikimedia Commons&lt;/a&gt; and &lt;a href=&quot;https://docs.google.com/spreadsheets/d/10Wj82iZ8XDkHJIfVdKMwT0h_OMZnpGSLDIyq5VZHv9Q/edit?gid=1687830774#gid=1687830774&quot;&gt;Sandbox Template for Wikimedia Commons Metadata Management&lt;/a&gt; guides users through the process of organizing their images and metadata for upload to Wikimedia Commons.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.glamelab.org/products/selecting-an-alternative-license-or-label/&quot;&gt;Selecting an Alternative License or Label&lt;/a&gt; addresses which machine readable statements to use when CC0 cannot be applied.&lt;/li&gt;
&lt;li&gt;The &lt;a href=&quot;https://www.glamelab.org/products/glam-e-glossary/&quot;&gt;Glossary&lt;/a&gt; provides a list of terms used across GLAM-E Lab resources.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;OpenGLAM Survey 2.0&lt;/h2&gt;
&lt;p&gt;Version 2.0 of the &lt;a href=&quot;https://survey.glamelab.org/&quot;&gt;OpenGLAM Survey&lt;/a&gt; brings the OpenGLAM Survey to a new, more user-friendly interface. You can &lt;a href=&quot;https://survey.glamelab.org/institutions/&quot;&gt;sort organizations&lt;/a&gt; by type, licenses and the platforms used. The new interface also makes it easier for us to expand the survey and keep its data up to date.&lt;/p&gt;
&lt;h2&gt;We’ve Collaborated with More than 24 Organizations!&lt;/h2&gt;
&lt;p&gt;The GLAM-E Lab model is simple: work directly with individual organizations to remove legal barriers to open access programs, and turn what we learn during that work into standard tools and documents that organizations of any size can use.&lt;/p&gt;
&lt;p&gt;Of course, all of this depends on having organizations that are open to tackling collections management issues with us in the first place. That’s why we are so excited to wrap up 2024 having worked with over 24 organizations on rights related issues and questions on open access. You can find the &lt;a href=&quot;https://www.glamelab.org/&quot;&gt;list of collaborators on the GLAM-E site&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;hero image: &lt;a href=&quot;https://www.rijksmuseum.nl/nl/collectie/object/Gereedschappen-voor-het-vervaardigen-van-een-mezzotint--7b7ce8f39d3621c880607ce0f5aad514&quot;&gt;Gereedschappen voor het vervaardigen van een mezzotint&lt;/a&gt; from the Rijksmuseum collection.&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 13 Dec 2024 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2024/12/13/glam-e-toolkit-1/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2024/12/13/glam-e-toolkit-1/</guid>
    </item>
    
    <item>
      <title>What Does an Open Source Hardware Company Owe The Community When it Walks Away?</title>
      <description>&lt;p&gt;This week Prusa Research, once one of the most prominent commercial members of the open source hardware community, &lt;a href=&quot;https://blog.prusa3d.com/introducing-prusa-core-one-fully-enclosed-corexy-3d-printer-with-active-temperature-control_105477/&quot;&gt;announced&lt;/a&gt; its latest 3D printer. The printer is decidedly not open source.&lt;/p&gt;
&lt;p&gt;That’s fine?  My support of, and interest in, open source hardware is not religious. I think open source hardware can be an &lt;a href=&quot;https://www.nyuengelberg.org/outputs/open-source-hardware-weather-report-2020/&quot;&gt;incredibly effective tool&lt;/a&gt; to achieve a number of goals. But no tool is fit for all purposes.  If circumstances change, and open source hardware no longer makes sense, people and companies should be allowed to change their strategies as long as they are clear that is what they are doing. Hackaday does a good job of &lt;a href=&quot;https://hackaday.com/2024/11/20/with-core-one-prusas-open-source-hardware-dream-quietly-dies/&quot;&gt;covering the Prusa-specific developments&lt;/a&gt;, and Phil has covered &lt;a href=&quot;https://blog.adafruit.com/2023/07/12/when-open-becomes-opaque-the-changing-face-of-open-source-hardware-companies/&quot;&gt;other examples&lt;/a&gt; (I hesitate to call it a ‘larger trend’ because I don’t think that’s quite right) on Adafruit.&lt;/p&gt;
&lt;p&gt;Still, I do believe a company that builds itself on open hardware owes the community an honest reckoning as it walks out the door.  Call it one last blast of openness for old time’s sake.&lt;/p&gt;
&lt;p&gt;Specifically, I think the company should explain why openness does not work for them anymore.  And not just by &lt;a href=&quot;https://michaelweinberg.org/blog/2023/07/14/more-shifting-oshw/&quot;&gt;waiving their hands while chanting vaguely about unfair copying or cloning&lt;/a&gt;.  They should seriously engage with the issue, explaining how their approach was designed, what challenges it faced, and why open strategies were not up to the task for overcoming those strategies.&lt;/p&gt;
&lt;p&gt;This discussion and disclosure is not a punishment for walking away from open, or an opportunity for the community to get a few last licks in.  Instead, it is about giving the community more information because that information might be useful to it. Open source hardware is about learning from each other, and &lt;strong&gt;how to run an open hardware business&lt;/strong&gt; is just as important a lesson as &lt;strong&gt;how to create an open hardware PCB&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;What Could This Look Like?&lt;/h2&gt;
&lt;p&gt;Last year Průša (the person) &lt;a href=&quot;https://blog.prusa3d.com/the-state-of-open-source-in-3d-printing-in-2023_76659/&quot;&gt;raised concerns&lt;/a&gt; about the state of open source hardware, framing his post as kicking off a “discussion.”  Members of the community took that invitation seriously.  I &lt;a href=&quot;https://michaelweinberg.org/blog/2023/04/05/prusa-response/&quot;&gt;responded with a series of clarifying questions and comments&lt;/a&gt;.   So &lt;a href=&quot;https://blog.thea.codes/a-reply-to-josef-prusa/&quot;&gt;did my OSHWA co-board member Thea Flowers&lt;/a&gt;, and &lt;a href=&quot;https://blog.adafruit.com/2023/07/12/when-open-becomes-opaque-the-changing-face-of-open-source-hardware-companies/&quot;&gt;Phil at Adafruit&lt;/a&gt;.  Průša is under no obligation to respond to any one of these (me yelling “debate me!” on the internet does not create an obligation on the person to actually respond).&lt;/p&gt;
&lt;p&gt;However, kicking off a self-styled discussion, having a bunch of people respond, and then doing . . . nothing does not feel like the most good faith approach to exploring these questions.  None of the questions in the response posts were particularly aggressive or merely rhetorical - they were mostly calls for more clarity and specificity in order to inform a more thoughtful discussion.&lt;/p&gt;
&lt;p&gt;Without that clarity, we are stuck in a vague space that does not really help anyone understand things better. As the &lt;a href=&quot;https://hackaday.com/2024/11/20/with-core-one-prusas-open-source-hardware-dream-quietly-dies/&quot;&gt;hackaday article&lt;/a&gt; astutely points out:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The company line is that releasing the source for their printers allows competitors to churn out cheap clones of their hardware — but where are they?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Let’s be honest, Bambu didn’t need to copy any of Prusa’s hardware to take their lunch money. You can only protect your edge in the market if you’re ahead of the game to begin with, and if anything, Prusa is currently playing catch-up to the rest of the industry that has moved on to faster designs. The only thing Prusa produces that their competitors are actually able to take advantage of is their slicer, but that’s another story entirely. (And of course, &lt;a href=&quot;https://github.com/prusa3d/PrusaSlicer&quot;&gt;it is still open source&lt;/a&gt;, and widely forked.)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If moving from open to closed prevents cheap clones, how does that actually work?  That would be useful information to the entire open source hardware community!  If it does not prevent cheap clones, why use that as a pretext? Also, useful information to the community!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Feature image: &lt;a href=&quot;https://www.si.edu/object/political-discussion-lumber-shanty:saam_1973.130.17&quot;&gt;Political Discussion in a Lumber Shanty&lt;/a&gt; from the Smithsonian Open Access collection&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Thu, 21 Nov 2024 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2024/11/21/what-does-company-owe-oshw/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2024/11/21/what-does-company-owe-oshw/</guid>
    </item>
    
    <item>
      <title>Keep 3D Printers Unlocked (the win! 2023)</title>
      <description>&lt;p&gt;Last summer I &lt;a href=&quot;https://michaelweinberg.org/blog/2023/07/13/1201-kickoff/&quot;&gt;submitted a request&lt;/a&gt; that the Copyright Office renew an existing rule that allows users to break DRM that prevents them from using materials of their choice in 3D printers.  As of October 28th, that &lt;a href=&quot;https://www.govinfo.gov/content/pkg/FR-2024-10-28/pdf/2024-24563.pdf&quot;&gt;rule has been renewed&lt;/a&gt; for another three years.&lt;/p&gt;
&lt;p&gt;This is good news!  Copyright law should not allow 3D printing manufacturers to force users to only use approved materials. Wins in copyright policy world are rare, so let&apos;s celebrate one when it comes.&lt;/p&gt;
&lt;p&gt;This request was part of a larger every-three-year process involving dozens of requests to allow people to do things that are not prohibited by regular copyright law, but are prohibited by a special provision of copyright law that prohibits breaking digital locks (even for otherwise legal purposes!).&lt;/p&gt;
&lt;p&gt;This time around, that larger process was a bit of a mixed bag. The good news is that many of the existing exemptions were renewed. The less good news is that some of the new exceptions were approved on highly restricted terms, making them much less useful.&lt;/p&gt;
&lt;p&gt;What happens now?  3D print with whatever material you want, free of fear of a copyright lawsuit (at least over using unapproved material in your printer - what you print can still get you into trouble).  Three years from now, we’ll do this dance &lt;a href=&quot;https://michaelweinberg.org/tags/#1201&quot;&gt;yet again&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Fri, 01 Nov 2024 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2024/11/01/1201-win/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2024/11/01/1201-win/</guid>
    </item>
    
    <item>
      <title>Licensing Deals Between AI Companies and Large Publishers are Probably Bad</title>
      <description>&lt;p&gt;Licensing deals between AI companies and large publishers may be bad for pretty much everyone, especially everyone who does not directly receive a check from them.&lt;/p&gt;
&lt;p&gt;Although the initial copyright lawsuits from large content companies like &lt;a href=&quot;https://knowingmachines.org/knowing-legal-machines/legal-explainer/cases/getty-images-v-stability-ai&quot;&gt;Getty Images&lt;/a&gt; and &lt;a href=&quot;https://knowingmachines.org/knowing-legal-machines/legal-explainer/cases/concord-v-anthropic&quot;&gt;music labels&lt;/a&gt; are still very much ongoing (with new ones being filed regularly), recently we’ve also seen a &lt;a href=&quot;https://www.wsj.com/business/media/openai-news-corp-strike-deal-23f186ba&quot;&gt;series&lt;/a&gt; of &lt;a href=&quot;https://www.theverge.com/2024/5/29/24167072/openai-content-copyright-vox-media-the-atlantic&quot;&gt;licensing&lt;/a&gt; &lt;a href=&quot;https://www.axios.com/2024/06/27/openai-time-licensing-deal-chatgpt&quot;&gt;deals&lt;/a&gt; between large content owners and AI companies.&lt;/p&gt;
&lt;p&gt;Setting aside the wisdom of the deal for any individual content company, I worry that these licensing deals represent a bad outcome for just about everyone else.  Most of the companies entering into these agreements represent a relatively large amount of cultural power (that can be leveraged into public pressure), and a relatively small corpus of works (relative to the amount of works required to train a model), backed up with enough legal power to qualify as a plausible threat to an AI company. That puts them in a position to demand compensation that is out of proportion to their actual contribution to any given model.&lt;/p&gt;
&lt;p&gt;The deals that flow from this dynamic allow a small number of companies to claim a disproportionate amount of compensation for their relatively modest contributions to a training dataset.  In doing so, the licenses establish a precedent that may undermine the fair use defense for unlicensed training of models, making it  harder for smaller competitors to enter the AI market.&lt;/p&gt;
&lt;p&gt;This might be a positive development if these deals also increased the likelihood that everyone who created data used to train models would receive significant compensation.*  However, these deals likely marginally decrease the likelihood of that outcome by allowing the media companies signing these deals to soak up most of the available licensing dollars before the vast majority of people and companies who created data in the training datasets are involved.  The most likely outcome could be one similar to Spotify, where large record labels and a handful of high-profile artists receive significant compensation, while everyone else receives fractions of pennies (or no pennies).&lt;/p&gt;
&lt;h2&gt;Licensing Dollar Roll Up&lt;/h2&gt;
&lt;p&gt;It is easy for anyone who wants to be paid a licensing fee by AI model trainers to see these deals as a positive development.  They may set a precedent that data must be licensed, and a market rate for data that applies to everyone else.&lt;/p&gt;
&lt;p&gt;However, at this stage there does not appear to be any reason to see these deals as setting a standard for anything other than large (or large-ish) media companies and rightsholders.  These deals do not set benchmarks for independent artists, or for anyone without the existing cultural and legal clout to demand them.  After all, the terms of these deals aren’t even public.&lt;/p&gt;
&lt;p&gt;It may be better to understand these deals as the large media companies and rightsholders jumping to the front of the line in order to soak up as much available licensing money as possible. Their incentive is to maximize the percentage of the licensing pool that they receive - not to set a standard on behalf of everyone else, or to grow the pie for others.  In fact, every dollar of value that someone outside of the deal can claim is a dollar the large media companies cannot include in their own deal with the AI companies.&lt;/p&gt;
&lt;p&gt;The result is that the large media companies leverage “creators should be paid” rhetoric to roll up all of the available licensing dollars, while making it marginally harder for anyone else to be paid for being part of the training data.&lt;/p&gt;
&lt;p&gt;Which seems bad!  As a bonus, these deals may undermine the fair use defense that allows the models to be created in the first place.&lt;/p&gt;
&lt;h2&gt;Blocking Competition&lt;/h2&gt;
&lt;p&gt;The copyright lawsuits over data used to train models all turn on whether or not the training is covered by fair use.  If the act of training models on data is fair use, the trainers do not need permission from the data rightsholders (I think this is both the &lt;a href=&quot;https://knowingmachines.org/knowing-legal-machines/legal-explainer/questions/can-gen-ai-companies-train-their-systems-on-things-i-made&quot;&gt;better reading of the law&lt;/a&gt; and the better policy outcome).  If the act of training is not fair use, the trainers will need permission from every rightsholder of every bit of data they use to train their models.&lt;/p&gt;
&lt;p&gt;Determining fair use involves applying a &lt;a href=&quot;https://fairuse.stanford.edu/overview/fair-use/four-factors/&quot;&gt;four factor test&lt;/a&gt;, one of which is the effect of the use on the potential market for the data. I’m confident that the AI company lawyers are crafting these agreements with an eye towards avoiding establishing a market for AI training data (available public information on the deals suggest that they are framed in terms of making it easier to access the data through APIs or other bulk data transfers, not a license to the data itself).  Nonetheless, the existence of these deals does probably marginally increase the likelihood that courts would decide that there is a functioning market for licensing training data.&lt;/p&gt;
&lt;p&gt;If that were the case, and courts found that the majority of the other fair use factors pushed against a finding of fair use, that would mean that only companies with enough money to license training data at scale could train new AI models.  I think this would probably be a bad policy outcome because it could effectively block new market entrants in AI. And working out the licensing process would be &lt;a href=&quot;https://michaelweinberg.org/blog/2024/07/15/ai-attribution-what-does-it-mean/&quot;&gt;somewhere between complicated and impossible&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;All of which makes these deals bad for pretty much everyone. They are bad for any creators who are not being directly paid by them, bad for anyone who would welcome new competition in AI, and bad for anyone who generally thinks that non-consumptive uses of information on the internet should be protected by fair use.&lt;/p&gt;
&lt;p&gt;*I currently believe that compensating everyone who created data used to train models is a bad idea, but I understand why it is an attractive option to many people.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hero Image: &lt;a href=&quot;https://www.metmuseum.org/art/collection/search/334037&quot;&gt;A nun frightened by a ghost playing a guitar; page 65 from the &amp;quot;Images of Spain&amp;quot; Album (F)&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Mon, 26 Aug 2024 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2024/08/26/ai-licensing-deals-bad/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2024/08/26/ai-licensing-deals-bad/</guid>
    </item>
    
    <item>
      <title>Is There A Coherent Theory of Attributing AI Training Data?</title>
      <description>&lt;p&gt;It feels like any time I have a conversation about attributing data used to train AI models, the completely understandable impulse to want attribution starts to break when confronted with some practical implementation questions.&lt;/p&gt;
&lt;p&gt;This is especially true in the context of training data that comes from open communities. These communities rely on some sort of open license that requires attribution (say, &lt;a href=&quot;https://creativecommons.org/licenses/by/4.0/&quot;&gt;CC BY&lt;/a&gt; or &lt;a href=&quot;https://opensource.org/license/mit&quot;&gt;MIT&lt;/a&gt;), and have been built on a set of norms that place a high value on attribution. Regardless of whether or not complying with the license &lt;a href=&quot;https://knowingmachines.org/knowing-legal-machines/legal-explainer/questions/can-gen-ai-companies-train-their-systems-on-things-i-made&quot;&gt;is legally required&lt;/a&gt; in these scenarios, many members of the community view attribution as a key element of its social contract.&lt;/p&gt;
&lt;p&gt;Since is already solving a number of problems in these communities, it is not hard to imagine a situation where attribution could solve some additional social and political problems related to the growth of these models.  These problems tend to be most acute around LLMs and generative AI, but are also relevant to a broader set of AI/ML models.&lt;/p&gt;
&lt;p&gt;This post is my attempt to describe some of the practical implementation issues that come to mind when talking about attribution and AI training datasets.  It is not intended to be a list of things that advocates for attribution “must fix” before attribution makes sense, or a list of reasons why attribution is impossible. It also is not intended to advocate for or against the value or legal necessity of attribution for AI training data.&lt;/p&gt;
&lt;p&gt;Instead, it is a list of things that I would like to figure out before being convinced that attribution is something worth pursuing. At the end, it also flags one lesson from existing open source software licensing that makes me somewhat more skeptical of this approach.&lt;/p&gt;
&lt;h1&gt;The Simple Model&lt;/h1&gt;
&lt;p&gt;Let’s start with the simple model of how large, foundational models are trained.&lt;/p&gt;
&lt;p&gt;If you wanted to train one of these models, you might start with something like &lt;a href=&quot;https://commoncrawl.org/&quot;&gt;Common Crawl&lt;/a&gt;, a repository of 2.7 billion web pages, or &lt;a href=&quot;https://laion.ai/blog/laion-400-open-dataset/&quot;&gt;LAION-400-Million&lt;/a&gt;, a collection of 400 million images paired with their captions.  You could throw these datasets into the pot with millions of dollars of computational power, plus some time, and get your very own AI model (again, this is the simple model of how all of this works).&lt;/p&gt;
&lt;p&gt;You know all of the data and datasets you used to train the model, so when you release the model you include a readme.txt file that has 3 billion or so entries listing all of the sources you used. Problem solved?&lt;/p&gt;
&lt;h2&gt;What Works About This Approach&lt;/h2&gt;
&lt;p&gt;You have given attribution!  Each bit of information you used to train the model is right there in the list, alongside the 3 billion other things that went into the pot.&lt;/p&gt;
&lt;h2&gt;What Doesn’t Work About This Approach&lt;/h2&gt;
&lt;p&gt;Maybe this solves the problem? Or maybe not?&lt;/p&gt;
&lt;h3&gt;Everything maps to everything&lt;/h3&gt;
&lt;p&gt;One problem with this approach is that an undifferentiated list of all of the training data might not be the kind of attribution people are looking for. On some level, if you are training a model from scratch, every data point contributes equal to the creation of that model and every given output of the model.&lt;/p&gt;
&lt;p&gt;However, it is also easy to come to an intuitive belief that some data might be more important than others when it comes to a specific output (there are also &lt;a href=&quot;https://hai.stanford.edu/news/quantifying-value-data&quot;&gt;more quantitative ways one might come to this conclusion&lt;/a&gt;).  Also, what if it is possible to have a model &lt;a href=&quot;http://ai.stanford.edu/~kzliu/blog/unlearning&quot;&gt;unlearn a specific bit of data&lt;/a&gt; and then continue to perform the same way it performed before unlearning that bit of data? If your model starts generating poetry, the training data that is just a list of calculus problems and solutions might feel less important than pages of poems.&lt;/p&gt;
&lt;p&gt;Does that mean that your attribution should prioritize some data points over others when it comes to specific outputs?  How could you begin to rank this?  Is there a threshold below which something shouldn’t be listed at all? Is there a point where some training data should get so much credit that it gets some sort of special recognition? Would you make this evaluation on a per-model basis, or on a per-output basis?&lt;/p&gt;
&lt;h3&gt;Is this meaningful attribution?&lt;/h3&gt;
&lt;p&gt;Being listed as one of 3 billion data points used to train a model is attribution in a literal sense, but is it attribution in a meaningful sense? Should that distinct matter?&lt;/p&gt;
&lt;p&gt;The Creative Commons license requires that a licensor give “&lt;a href=&quot;https://creativecommons.org/licenses/by/4.0/deed.en#ref-appropriate-credit&quot;&gt;appropriate credit&lt;/a&gt;,” which is defined mostly in the information it contains, not the form that attribution takes.  The CC Wiki contains &lt;a href=&quot;https://wiki.creativecommons.org/wiki/Recommended_practices_for_attribution&quot;&gt;further best practices for attribution&lt;/a&gt;, while being upfront that “Because each use case is different, you can decide what form of attribution is most suitable for your specific situation.”&lt;/p&gt;
&lt;p&gt;Regardless of whether or not the 3 billion line readme.txt file is legally compliant with a CC license, there may be a significant number of creators who feel that it does not meaningfully address their wishes.  Of course, it will also always be impossible to address the wishes of all 3 billion creators anyway.  To the extent that attribution is a social/political solution instead of a legal solution, not addressing the wishes of some critical mass of those creators will significantly reduce its utility.  Open Future’s &lt;a href=&quot;https://openfuture.eu/publication/alignment-assembly-on-ai-and-the-commons-outcomes-and-learnings/&quot;&gt;Alignment Assembly on AI and the Commons&lt;/a&gt; is interesting to consider in this context. Regardless, if listing people in a 3 billion line file does not meet the expectations of a critical mass of people, is it worth imposing as an expectation?&lt;/p&gt;
&lt;p&gt;There is a similar, yet also somewhat distinct, version of this question when it comes to open source software. Under most open source software licenses, attribution is including specific text in a file bundled with the code. However, as discussed more at the end of this post, even that can be of questionable utility at scale.&lt;/p&gt;
&lt;h3&gt;Is this just a roadmap for lawsuits?&lt;/h3&gt;
&lt;p&gt;Is disclosing everything you used to train your model just a roadmap for lawsuits?  This question is a bit harder to answer.  &lt;strong&gt;IF&lt;/strong&gt; training models require the permission of the rightsholder &lt;strong&gt;AND&lt;/strong&gt; the 3 billion entry readme.txt does not meet a permissive license’s attribution requirements, then training on data that requires attribution without providing that attribution is infringement.  But that’s a big &lt;strong&gt;IF&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If it is fair use to train AI models on unlicensed data, listing the training data won’t be a roadmap for lawsuits because creators don’t have a copyright claim to bring against trainers.&lt;/p&gt;
&lt;p&gt;Also, &lt;a href=&quot;https://knowingmachines.org/knowing-legal-machines/legal-explainer&quot;&gt;current experience suggests that lawsuits aren&apos;t waiting for this particular roadmap anyway&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That means that the roadmap question may be best answered by examining the underlying fair use question, not by weighing the value of attribution.  And the fair use fate of AI training is probably much more relevant to it than the attribution compliance question.  So I’m going to call this concern both worth flagging and out of scope of this post.&lt;/p&gt;
&lt;h1&gt;The More Complicated Models&lt;/h1&gt;
&lt;p&gt;The simple model is just that - a simplified way of thinking about model training.  Some of the things that happen in real-world training further complicate things (for a great illustration of many of these relationships, check out Christo Buschek &amp;amp; Jer Thorp’s &lt;a href=&quot;https://knowingmachines.org/models-all-the-way&quot;&gt;Models All The Way Down&lt;/a&gt;).&lt;/p&gt;
&lt;h2&gt;Models Trained by Models&lt;/h2&gt;
&lt;p&gt;As these models are trained on large datasets, it probably should not come as a surprise that trainers are using &lt;em&gt;other&lt;/em&gt; AI models to structure, parse, and prepare datasets before they are used to train the model.  These structuring, parsing, and preparing models are contributing to the final output model, at least in some ways.&lt;/p&gt;
&lt;p&gt;Should the attribution for the final model include all of the data used to train those models as well? Should it differentiate between data used to train the “helper” models and the primary models? How recursively should that obligation extend? What should it mean if the users of the trainer models do not have access to the data used to train those models?&lt;/p&gt;
&lt;h2&gt;Models Tuned by Models&lt;/h2&gt;
&lt;p&gt;Large, foundational models are now being tuned to do all sorts of specific tasks.  This tuning can include building on an open model like &lt;a href=&quot;https://llama.meta.com/&quot;&gt;Llama&lt;/a&gt;, or importing your own dataset to build a custom &lt;a href=&quot;https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/&quot;&gt;RAG&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In cases like this, should attribution include all of the data from the foundational model, plus all of the customized training data? If someone is doing their own tuning without access to a complete list of the training data, is releasing the list of the data they used enough? Should tuning a model built on attributed data create an obligation to release your own tuning data?&lt;/p&gt;
&lt;h2&gt;Models Optimized by People Who Built Other Models&lt;/h2&gt;
&lt;p&gt;To me, this is one of the most conceptually interesting situations, and one that highlights the various ways that “learn” is used in these conversations.&lt;/p&gt;
&lt;p&gt;The first two scenarios in this section describe some sort of direct lineage between models. However, there are also less direct, more human-mediated linkages.  If a team builds model A, they will bring whatever they learned in that process to building model B. That’s true even if model A isn’t “used” to build model B in some sort of literal sense.  Should they still attribute the data they used to gain the human knowledge from building model A in the release notes for model B?&lt;/p&gt;
&lt;p&gt;This is not a hypothetical scenario.  For example, OpenAI describes a &lt;a href=&quot;https://openai.com/index/gpt-4/&quot;&gt;“research path”&lt;/a&gt; linking GPT, GPT-2, GPT-3, and GPT4, &lt;a href=&quot;https://openai.com/index/gpt-4-research/&quot;&gt;explaining&lt;/a&gt; that they take what they learn in developing each model and apply it to the next one:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A year ago, we trained GPT-3.5 as a first “test run” of the system. We found and fixed some bugs and improved our theoretical foundations. As a result, our GPT-4 training run was (for us at least!) unprecedentedly stable, becoming our first large model whose training performance we were able to accurately predict ahead of time.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If your data was used to create GPT-3.5, which taught OpenAI something about training models that allow them not to have to use your data to train GPT-4, have you still made a creditable contribution to GPT-4? How far back should we follow this chain of logic?&lt;/p&gt;
&lt;h2&gt;Lessons Learned from Open Source Software&lt;/h2&gt;
&lt;p&gt;AI is not the first time that open communities have had to wrestle with the limits of attribution requirements, or with long, nested attribution documents.  While there are examples of these across open communities, the most relevant examples probably come from open source software.&lt;/p&gt;
&lt;p&gt;Software is made of other software.  Most pieces of software contain a number of other pieces of open source software with licenses that require attribution.  In practice, this takes the form of super long text files tucked into software releases.&lt;/p&gt;
&lt;p&gt;As Kate Downing &lt;a href=&quot;https://katedowninglaw.com/2022/11/28/is-open-source-attribution-dead/&quot;&gt;points out&lt;/a&gt;, the value of the attribution requirement in modern software seems to be pretty low.  Software may come with pages and pages of attributions that comply with the license requirement (Downing links to a not-particularly-unique example where the attribution document is 15,385 pages long), but it is unclear if the existence of that document is much more than a compliance chore for a responsible maintainer.&lt;/p&gt;
&lt;p&gt;To give another illustration of how long and recursive these documents can be, while drafting this post I also had to update the bios on my &lt;a href=&quot;https://www.theverge.com/23642073/best-printer-2023-brother-laser-wi-fi-its-fine&quot;&gt;printer&lt;/a&gt;.  The tool I was using required me to agree to the license, and then listed what would have been many pages of attribution.  This happened to be the last attribution listed (and therefore the only one I actually saw):&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://michaelweinberg.org/images/ty_coon_license.png&quot; alt=&quot;screenshot of license attribution text crediting &apos;Ty Coon, President of Vice&apos; dated 1 April 1989&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;s&gt;How important is the attribution requirement to Ty Coon, President of Vice and creator of some component of my printer driver update utility? Hard to say.&lt;/s&gt; &lt;em&gt;update 7/15/24: as pointed out by &lt;a href=&quot;https://mastodon.social/deck/@luis_in_brief@social.coop/112792571975368417&quot;&gt;Luis Villa on mastodon&lt;/a&gt;, Ty Coon is in the &lt;a href=&quot;https://www.gnu.org/licenses/old-licenses/gpl-1.0.en.html&quot;&gt;sample attribution statement at the bottom of earlier versions of the GPL&lt;/a&gt;.  This &lt;a href=&quot;https://github.com/qbittorrent/qBittorrent/issues/7749&quot;&gt;occasionally creates confusion&lt;/a&gt; outside of this blog. The one snippet of the code I saw when using the utility was not even the (fake) name of one of its many contributors - it was just the end of the appendix to the license they used, pushing their actual name outside of my terminal window.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Given this history, would it be productive to import this practice into training AI models?  I’m skeptical.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;update 7/17/24: Back in 2016, Luis Villa also wrote a &lt;a href=&quot;https://lu.is/2016/09/copyleft-and-data-database-law-as-poor-platform/&quot;&gt;series&lt;/a&gt; of &lt;a href=&quot;https://lu.is/2016/09/copyleft-and-data-databases-as-poor-subject/&quot;&gt;blog&lt;/a&gt; &lt;a href=&quot;https://lu.is/2016/09/copyleft-attribution-and-data-other-considerations/&quot;&gt;posts&lt;/a&gt; &lt;a href=&quot;https://lu.is/2016/09/public-licenses-and-data-so-what-to-do-instead/&quot;&gt;about&lt;/a&gt; a very similar attribution problem that argued against trying to use copyleft for databases. If you made it this far, they are very much worth checking out, because most of those problems reappear in the context of AI.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hero Image: &lt;a href=&quot;https://www.metmuseum.org/art/collection/search/392777&quot;&gt;Pidgeon Hole. A Convent Garden Contrivance to Coop up the Gods&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Mon, 15 Jul 2024 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2024/07/15/ai-attribution-what-does-it-mean/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2024/07/15/ai-attribution-what-does-it-mean/</guid>
    </item>
    
    <item>
      <title>Make Government-Funded Hardware Open Source by Default</title>
      <description>&lt;p&gt;&lt;em&gt;Earlier this year the &lt;a href=&quot;https://fas.org&quot;&gt;Federation of American Scientists (FAS)&lt;/a&gt;, &lt;a href=&quot;https://www.cos.io/&quot;&gt;Center for Open Science&lt;/a&gt;, and the &lt;a href=&quot;https://www.wilsoncenter.org/program/science-and-technology-innovation-program&quot;&gt;Wilson Center&lt;/a&gt; held an &lt;a href=&quot;https://fas.org/accelerator/open-science/&quot;&gt;open science policy sprint&lt;/a&gt; to source and develop actionable policy ideas aimed at improving scientific transparency, equity, and innovation. Some heroic editing from the FAS team (especially Jordan Dworkin and Grace Wickerson) helped transform &amp;quot;uh, if the government pays for hardware it should be open source&amp;quot; into the actual proposal below.  You can see the original version in situ &lt;a href=&quot;https://fas.org/publication/open-source-hardware/&quot;&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;While scientific publications and data are increasingly made publicly accessible, designs and documentation for scientific hardware — another key output of federal funding and driver of innovation — remain largely closed from view. This status quo can lead to redundancy, slowed innovation, and increased costs. Existing standards and certifications for open source hardware provide a framework for bringing the openness of scientific tools in line with that of other research outputs. Doing so would encourage the collective development of research hardware, reduce wasteful parallel creation of basic tools, and simplify the process of reproducing research. The resulting open hardware would be available to the public, researchers, and federal agencies, accelerating the pace of innovation and ensuring that each community receives the full benefit of federally funded research.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Federal grantmakers should establish a default expectation that hardware developed as part of federally supported research be released as open hardware. To retain current incentives for translation and commercialization, grantmakers should design exceptions to this policy for researchers who intend to patent their hardware.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;Details&lt;/h2&gt;
&lt;p&gt;Federal funding plays an important role in setting norms around open access to research. The White House Office of Science and Technology Policy (OSTP)’s recent &lt;a href=&quot;https://www.whitehouse.gov/wp-content/uploads/2022/08/08-2022-OSTP-Public-Access-Memo.pdf&quot;&gt;Memorandum Ensuring Free, Immediate, and Equitable Access to Federally Funded Research&lt;/a&gt; makes it clear that open access is a cornerstone of a scientific culture that values collaboration and data sharing. OSTP’s &lt;a href=&quot;https://www.whitehouse.gov/wp-content/uploads/2023/11/Open-Access-Publishing-of-Scientific-Research.pdf&quot;&gt;recent report on open access publishing&lt;/a&gt; further declares that “[b]road and expeditious sharing of federally funded research is fundamental for accelerating discovery on critical science and policy questions.”&lt;/p&gt;
&lt;p&gt;These efforts have been instrumental in providing the public with access to scientific papers and data — two of the foundational outputs of federally funded research. Yet hardware, another key input and output of science and innovation, remains largely hidden from view. To continue the move towards an accessible, collaborative, and efficient scientific enterprise, public access policies should be expanded to include hardware. Specifically, making federally funded hardware open source by default would have a number of specific and immediate benefits:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reduce Wasteful Reinvention&lt;/strong&gt;. Researchers are often forced to develop testing and operational hardware that supports their research. In many cases, unbeknownst to those researchers, this hardware has already been developed as part of other projects by other researchers in other labs. However, since that original hardware was not openly documented and licensed, subsequent researchers are not able to learn from and build upon this previous work. The lack of open documentation and licensing is also a barrier to more intentional, collaborative development of standardized testing equipment for research.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Increase Access to Information&lt;/strong&gt;. As the OSTP memo makes clear, open access to federally funded research allows all Americans to benefit from our collective investment. This broad and expeditious sharing strengthens our ability to be a critical leader and partner on issues of open science around the world. Immediate sharing of research results and data is key to ensuring that benefit. Explicit guidance on sharing the hardware developed as part of that research is the next logical step towards those goals.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Alternative Paths to Recognition&lt;/strong&gt;. Evaluating a researcher’s impact often includes an assessment of the number of patents they can claim. This is in large part because patents are easy to quantify. However, this focus on patents creates a perverse incentive for researchers to erect barriers to follow on study even if they have no intention of using patents to commercialize their research. Encouraging researchers to open source the hardware developed as part of their research creates an alternative path to evaluate their impact, especially as those pieces of open source hardware are adopted and improved by others. Uptake of researchers’ open hardware could be included in assessments on par with any patented work. This path recognizes the contribution to a collective research enterprise.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Verifiability&lt;/strong&gt;. Open access to data and research are important steps towards allowing third parties to verify research conclusions. However, these tools can be limited if the hardware used to generate the data and produce the research are not themselves open. Open sourcing hardware simplifies the process of repeating studies under comparable conditions, allowing for third-party validation of important conclusions.&lt;/p&gt;
&lt;h2&gt;Recommendations&lt;/h2&gt;
&lt;p&gt;Federal grantmaking agencies should establish a default presumption that recipients of research funds make hardware developed with those funds available on open terms. This policy would apply to hardware built as part of the research process, as well as hardware that is part of the final output. Grantees should be able to opt out of this requirement with regards to hardware that is expected to be patented; such an exception would provide an alternative path for researchers to share their work without undermining existing patent-based development pathways.&lt;/p&gt;
&lt;p&gt;To establish this policy, OSTP should conduct a study and produce a report on the current state of federally funded scientific hardware and opportunities for open source hardware policy.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;As part of the study, OSTP should coordinate and convene stakeholders to discuss and align on policy implementation details — including relevant researchers, funding agencies, U.S. Patent and Trademark Office officials, and leaders from university tech transfer offices.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The report should provide a detailed and widely applicable definition of open source hardware, drawing on definitions established in the community — in particular, the definition maintained by the Open Source Hardware Association, which has been in use for over a decade and is based on the widely recognized definition of open source software maintained by the Open Source Initiative.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It should also lay out a broadly acceptable policy approach for encouraging open source by default, and provide guidance to agencies on implementation. The policy framework should include recommendations for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Minimally burdensome components of the grant application and progress report with which to capture relevant information regarding hardware and to ensure planning and compliance for making outputs open source&lt;/li&gt;
&lt;li&gt;A clear and well-defined opportunity for researchers to opt out of this mandate when they intend to patent their hardware&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Office of Management and Budget (OMB) should issue a memorandum establishing a policy on open source hardware in federal research funding. The memorandum should include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The rationale for encouraging open source hardware by default in federally funded scientific research, drawing on the motivation of public access policies for publications and data&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A finalized definition of open source hardware to be used by agencies in policy implementation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The incorporation of OMB’s Open Source Scientific Hardware Policy, in alignment with the OSTP report and recommendations&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The U.S. government and taxpayers are already paying to develop hardware created as part of research grants. In fact, because there is not currently an obligation to make that hardware openly available, the federal government and taxpayers are likely paying to develop identical hardware over and over again.&lt;/p&gt;
&lt;p&gt;Grantees have already proven that existing open publication and open data obligations promote research and innovation without unduly restricting important research activities. Expanding these obligations to include the hardware developed under these grants is the natural next step.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hero image: Crop of &lt;a href=&quot;https://www.si.edu/object/andrew-carnegie:npg_S_NPG.75.2&quot;&gt;Andrew Carnegie, Smithsonian Open Access Collection&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Fri, 26 Apr 2024 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2024/04/26/gov-oshw/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2024/04/26/gov-oshw/</guid>
    </item>
    
    <item>
      <title>Licenses are Not Proxies for Openness in AI Models</title>
      <description>&lt;p&gt;Earlier this year, the National Telecommunications and Information Administration (NTIA) requested comment on a &lt;a href=&quot;https://www.ntia.gov/federal-register-notice/2024/dual-use-foundation-artificial-intelligence-models-widely-available&quot;&gt;number of questions&lt;/a&gt; related to what it is calling “open foundational models.”  This represents the US Government starting to think about what “open” means in the context of AI and machine learning.&lt;/p&gt;
&lt;p&gt;The definition of open in the context of AI and machine learning is more complicated than it is in software, and I assume that many people are going to submit many interesting comments as part of the docket.&lt;/p&gt;
&lt;p&gt;I also submitted a &lt;a href=&quot;https://michaelweinberg.org/docs/WeinbergNTIAOpenModelComment20240327.pdf&quot;&gt;short comment&lt;/a&gt;.  It focused on a comparatively narrow issue: whether or not it makes sense to use licenses as an easy way to test for openness in the context of AI models.  I argued that it does not, at least not right now.&lt;/p&gt;
&lt;p&gt;There are many situations where licenses are used as proxies for “open”.  A funder might require all software to be released under an &lt;a href=&quot;https://opensource.org/licenses&quot;&gt;OSI-approved open source software license&lt;/a&gt;, or that a journal article be released under a &lt;a href=&quot;https://creativecommons.org/licenses/list.en&quot;&gt;Creative Commons license&lt;/a&gt;. In these cases, using the license is essentially an easy way to confirm that the thing being released really is open.&lt;/p&gt;
&lt;p&gt;At a basic level, these systems work because of two things: 1) the thing being licensed is relatively discrete, and 2) the licenses used are mature and widely adopted within the community.&lt;/p&gt;
&lt;p&gt;Open source hardware acts as a helpful contrast to these other examples.  Unlike a software repo or journal article, what constitutes “hardware” can be complex - it might include the hardware itself, digital design files, documentation/instructions, and software.  All of these may be packaged differently in different places.&lt;/p&gt;
&lt;p&gt;Each of these elements may also have a different relationship with intellectual property protections, especially copyright.  We have some mature open hardware licenses, but they are relatively recent and even they embody questions and gray areas related to what they do and do not control when it comes to any specific piece of hardware.&lt;/p&gt;
&lt;p&gt;My comment suggests that open ML models are much more like open hardware than open software.  The community does not really have a consensus definition of what “open” even means in the context of AI models (freely available weights? code? training data?), let alone how (and if) those elements might need to be licensed.&lt;/p&gt;
&lt;p&gt;In light of this, it would be unwise to build a definition of open foundational models that would allow “just use this license” to be an easy way to comply. There might be a day when consensus definitions are established and licenses are mature. Until then, any definition of open should require a more complex analysis than simply looking at a license.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Header image: &lt;a href=&quot;https://www.si.edu/object/physical-examination:saam_1965.18.60&quot;&gt;Physical Examination&lt;/a&gt; from the Smithsonian&apos;s National Portrait Gallery&lt;/em&gt;&lt;/p&gt;
</description>
      <pubDate>Tue, 26 Mar 2024 00:00:00 +0000</pubDate>
      <link>https://michaelweinberg.org/blog/2024/03/26/ntia-open-ai/</link>
      <guid isPermaLink="true">https://michaelweinberg.org/blog/2024/03/26/ntia-open-ai/</guid>
    </item>
    
  </channel>
</rss>
