Comment by godelski

1 day ago

Actually, they are. It's really more a question of with who and of course don't apply to classified material.

But the SHARE IT act really helps formalize what was already happening. Most code is shared and made public. It's paid for by the public. Though it's usually not easily searchable as it's distributed via different platforms, means, and may even require submitting a freedom of information request first. But in more cases than not, there is obligation to share when requested.

https://www.congress.gov/bill/118th-congress/house-bill/9566

The "when requested" is the point I was making. FOIA is how you request such software. If you want a copy of the elisp libraries I wrote to automate creation of field devices on military fuel farm SCADA systems, you'll have to submit an FOIA request. Unless someone at the DoD decides to share it out of the goodness of their hearts, you have to ask for it.

  • Sounds fascinating! Other than the FOIA bit. Do you have a blog post or something with more detail about this work?

    • Naw, it's not really all that interesting. A SCADA system has a bunch of field devices it needs to talk to. Most SCADA software has some method of importing lists of device information and creating objects from it.

      My engineer gives me a list of (for example) valve actuators on a site. I open that list in Emacs, manipulate it a bit, and then use it as input to a function I've written. That function generates a CSV file with things like tag name, Modbus ID, polling method, etc. that I can import into Wonderware. It's considerably faster and less error prone than manually creating and configuring hundreds of instances.

      I say it's not interesting because most people in my position write little bits of code like this to automate the repetitive parts of our jobs. I just do it with elisp instead of Excel or Python.

  • I guess I should have been clearer - the "private repository" mentioned in that bill only has to be available for government employees, and even then only on request. Public repositories are an option, but the government doesn't have to choose that option. The main point is to encourage reuse within the government, not to be a source of free public domain software for the public.