Make It Easier For Your Software Project To Accept Contributions

[Flameeyes] has heard complaints (and at times, he admits, has complained himself) about big companies not contributing improvements to projects they seem to find useful, or rolling their own implementation rather than use and contribute to an existing code base. Having recently left Google after seven years, he has some insights into some of the reasons big corporations (at least Google, anyway) may sometimes seem to eschew making code contributions, and some of the reasons might come as a surprise.

There are things a corporation can do differently, but there are also some things that can be done on the project’s end to make accepting contributions easier. [Flameeyes] took some time to write out a few pointers on how to make it easier for others (particularly large corporations) to contribute code to a software project.

The biggest issue is the software license. Without one, there is no legal structure to use, distribute, or contribute to the code, and no corporate entity will want to touch it. Google specifically forbids creating patches for projects with either no license, or incompatible licenses. An example of an incompatible license is one that forbids commercial use, because everything a corporation like Google does — even research –is considered a commercial endeavor. In addition, on the corporate side making contributions might trigger a code review process of some kind for some licenses, but not for others. [Flameeyes] suggests the MIT license as one that is acceptable to pretty much everyone with a minimum of fuss. Another caution: if a project’s code resides in an online repository, make sure the repository is licensed as well.

A few other small suggestions (such as maintaining an AUTHORS file to track contributors in a tidy way) rounds out the advice. It sounds simple, but software licensing is so critical to the whole affair that it’s important to get it right — he suggests the REUSE tool for anyone wanting to make sure a project’s licensing is tidy.

[Flameeyes] makes a point that none of this guidance is based on secret or institutional knowledge. Google has a public document detailing exactly how they use and deal with open source, and it’s a solid guide for how to make your project more accepting of contributions from a corporate entity like Google. (Or, if you prefer, a guide on how to set up as many barriers as possible for your project.)

In case you missed it, we just want to remind you that our favorite recent open source project from Google is definitely Pigweed.

Hackaday Links: March 15, 2020

Just a few weeks ago in the Links article, we ran a story about Tanner Electronics, the Dallas-area surplus store that was a mainstay of the hacker and maker scene in the area. At the time, Tanner’s owners were actively looking for a new, downsized space to move into, and they were optimistic that they’d be able to find something. But it appears not to be, as we got word this week from James Tanner that the store would be shutting its doors after 40 years in business. We’re sad to see anyone who’s supported the hardware hacking scene be unable to make a go of it, especially after four decades of service. But as we pointed out in “The Death of Surplus”, the center of gravity of electronics manufacturing has shifted dramatically in that time, and that’s changed the surplus market forever. We wish the Tanner’s the best of luck, and ask those in the area to stop by and perhaps help them sell off some of their inventory before they close the doors on May 31.

Feel like getting your inner Gollum on video but don’t know where to begin? Open source motion capture might be the place to start, and Chordata will soon be here to help. We saw Chordata as an entry in the 2018 Hackaday Prize; they’ve come a long way since then and are just about to open up their Kickstarter. Check out the video for an overview of what Chordata can do.

Another big name in the open-source movement has been forced out of the organization he co-founded. Eric S. Raymond, author of The Cathedral and the Bazaar and co-founder and former president of the Open Source Initiative has been removed from mailing lists and banned from communicating with the group. Raymond, known simply as ESR, reports that this was in response to “being too rhetorically forceful” in his dissent from proposed changes to OSD, the core documents that OSI uses to determine if software is truly open source. Nobody seems to be saying much about the behavior that started the fracas.

COVID-19, the respiratory disease caused by the newly emerged SARS-CoV-2 virus, has been spreading across the globe, causing panic and claiming lives. It’s not without its second-order effects either, of course, as everything from global supply chains to conferences and meetings have been disrupted. And now, coronavirus can be blamed for delaying the ESA/Russian joint ExoMars mission. The mission is to include a Russian-built surface platform for meteorological and biochemical surveys, plus the ESA’s Rosalind Franklin rover. Program scientists are no longer able to travel and meet with their counterparts to sort out issues, severely crimping productivity and forcing the delay. Social distancing and working from home can only take you so far, especially when you’re trying to get to Mars. We wonder if NASA’s Perseverance will suffer a similar fate.

Speaking of social distancing, if you’ve already decided to lock the doors and hunker down to wait out COVID-19, you’ll need something to keep you from going stir crazy. One suggestion: learn a new skill, like PCB design. TeachMePCB is offering a free rigid PCB design course starting March 28. If you’re a newbie, or even if you’ve had some ad hoc design experience, this could be a great way to productively while away some time. And if that doesn’t work for you, check out Bartosz Ciechanowski’s Gears page. It’s an interactive lesson on why gears look like they do, and the math behind power transmission. Ever wonder why gear teeth have an involute shape? Bartosz will fix you up.

Stay safe out there, everyone. And wash those hands!

The Ohio Scientific 300 Trainer

In the late 1970s there were a host of companies that dominated the computer market before the introduction of the IBM PC. One of these was Ohio Scientific or OSI. [BradH] has an OSI Model 300 trainer — their first major product — and gives us a peek at it along with some history of the company.

Companies like OSI, Southwest Technical Products, Osborne, Northstar, and PolyMorphic were the second wave after the likes of MITS and IMSAI had opened the personal computer market. Only a few companies like Apple hung on and made it work over the long haul.

Continue reading “The Ohio Scientific 300 Trainer”

A Teensy Logic Analyzer For A 6502

[John] has an interesting, if old piece of tech sitting on his workbench. It’s an Ohio Scientific C3-8P computer from the late 70s by way of a few garages, basements, and attics. As with most tech of this vintage, there are some problems, and [John] found debugging a little frustrating without the ability to trace and watch the programs. He needed a logic analyzer, and found one in an unlikely piece of hardware. [John] built one using a Teensy microcontroller, and further refinement of this project could turn it into a full in-system emulator.

The old Ohio Scientific computer [John] is trying to bring back from the dead is based on the 6502 CPU. That’s sixteen address lines to monitor, eight data lines, and four control lines. These were wired directly to a Teensy 3.1.

Reading and controlling all the signals from a 6502 is a task that falls to Linux. A command line program controls the Teensy and is capable of reading memory, setting trigger addresses, dumping the entire address space to a file, or just recording the last 5,000 clock cycles. This kind of tech existed back in the late 70s and early 80s. It also cost a fortune. Now, with a $20 Teensy and probably another $30 in ribbon cables and test clips, anyone can build a logic analyser for a very old computer system.

Videos below.

Continue reading “A Teensy Logic Analyzer For A 6502”