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.

Modular Mouse Packs Features

Not only do console gamers complain about the use of a mouse, but PC users themselves often don’t have kind words to say even about some of the higher-end options. Granted, their gripes aren’t about game experience or balance, they’re usually about comfort, features, or longevity of the mice themselves. So far we haven’t seen many people try to solve these problems, but [benw] recently stepped on the scene with a modular mouse that can fit virtually any need.

Called the RX-Modulus, this mouse has been designed from the ground up to be completely open source from hardware to software. Most of the components can be 3D printed to suit an individual’s particular grip style by making adjustments. The electronics can be custom fitted as well. Users can swap out mouse buttons and wheels in any number of positions, and replace them when they wear out. To that end, one of the goals of this project is also to avoid any planned obsolescence that typically goes along with any current consumer-level product.

While [benw] currently only has a few prototypes under his belt, he’s far enough along with the project that he’s willing to show it off to the community. His hopes are that there are others that see a need for this type of mouse and can contribute to the final design. After all, there are all kinds of other custom mice out there that would have been much easier builds with [benw]’s designs at hand.

New Part Day: An Open Source Ethernet Switch In The Palm Of Your Hand

When you can get a WiFi-enabled microcontroller for $3, it’s little surprise that many of the projects we see these days have ditched Ethernet. But the days of wired networking are far from over, and there’s still plenty of hardware out there that can benefit from being plugged in. But putting an Ethernet network into your project requires a switch, and that means yet another piece of hardware that needs to get crammed into the build.

Seeing the need for a small and lightweight Ethernet switch, BotBlox has developed the SwitchBlox. This 45 mm square board has everything you need to build a five device wired network, and nothing you don’t. Gone are the bulky RJ45 jacks and rows of blinkenlights, they won’t do you any good on the inside of a robot’s chassis. But that’s not to say it’s a bare bones experience, either. The diminutive switch features automatic crossover, support for input voltages from 7 V all the way up to 40 V, and management functions accessible over SPI.

If you want to get up and running as quickly as possible, a fully assembled SwitchBlox is available to purchase directly from BotBlox for £149.00. But if you’re not in any particular rush and interested in saving on cost, you can spin up your own version of the Creative Commons licensed board. The C++ management firmware and Python management GUI isn’t ready for prime time just yet, but you’ll be able to build a “dumb” version of the switch with the provided KiCad design files.

The published schematic in their repo uses a Microchip KSZ8895MQXCA as the Ethernet controller, with a Pulse HX1344NL supplying the magnetics for all the ports in a single surface mount package. Interestingly, the two images that BotBlox shows on their product page include different part numbers like H1102FNL and PT61017PEL for the magnetics, and the Pulse H1164NL for the Ethernet controller.

Make Networks Wired Again

There’s no question that WiFi has dramatically changed the way we connect devices. In fact, there’s an excellent chance you’re currently reading these words from a device that doesn’t even have the capability to connect to a wired network. If you’re looking to connect a device to the Internet quickly, it’s tough to beat.

But WiFi certainly isn’t perfect. For one, you have to contend with issues that are inherent to wireless communications such as high latency and susceptibility to interference. There’s also the logistical issues involved in making that initial connection since you need to specify an Access Point and (hopefully) an encryption key. In comparison, Ethernet will give you consistent performance in more or less any environment, and configuration is usually as simple as plugging in the cable and letting DHCP sort the rest out.

Unfortunately, that whole “plugging in” part can get tricky. Given their size, putting an Ethernet switch into your project to act as an internal bus only works if you’ve got space to burn and weight is of little concern. So as appealing as it might be to build a network into your robot to connect the Raspberry Pi, motor controllers, cameras, etc, it’s rarely been practical.

This little switch could change that, and the fact it’s released under an open source license means hackers and makers will be free to integrate it into their designs. With the addition of an open source management firmware, this device has some truly fascinating potential. When combined with a single board computer or suitably powerful microcontroller, you have the makings of a fully open source home router; something that the privacy and security minded among us have been dreaming of for years.

Professional Ventilator Design Open Sourced Today By Medtronic

Medical device company Medtronic released designs for one of their ventilators to open source for use in the COVID-19 pandemic. This is a laudable action, and there is plenty to glean from the specs (notable is that the planned release is incomplete as of this writing, so more info is on the way). Some initial reactions: medical devices are complicated, requirements specifications are enormous, the bill of materials (BOM) is gigantic, and component sourcing, supply chain, assembly, and testing are just as vital as the design itself.

The pessimist in me says that this design was open sourced for two reasons; to capitalize on an opportunity to get some good press, and to flex in front of the DIY community and convince them that the big boys should be the ones solving the ventilator shortage. The likelihood of anyone actually taking these specs and building it as designed are essentially zero for a variety of reasons, but let’s assume their intent is to give a good starting point for newer changes. The optimist in me says that after what happened to California over the weekend with 170 ventilators arriving broken, it might be nice to have open designs to aid in repair of existing non-functioning ventilators.

The design details released today are for their PB560 model, which was originally launched in 2010 by a company called Covidien, before it merged with Medtronic, so we’re already starting with a device design that’s a decade old. But it’s also a design that has proven itself through widespread use, and this data dump gives us a great look at what actually goes into one of these machines. Let’s take a look.

Continue reading “Professional Ventilator Design Open Sourced Today By Medtronic”

What Does GitHub’s Npm Acquisition Mean For Developers?

Microsoft’s open-source shopping spree has claimed another victim: npm. [Nat Friedman], CEO of GitHub (owned by Microsoft), announced the move recently on the GitHub blog.

So what motivated the acquisition, and what changes are we likely to see as a result of it? There are some obvious upsides and integrations, but these will be accompanied by the usual dose of skepticism from the open-source community. The company history and working culture of npm has also had its moments in the news, which may well have contributed to the current situation. This post aims to explore some of the rationale behind the acquisition, and what it’s likely to mean for developers in the future.

Continue reading “What Does GitHub’s Npm Acquisition Mean For Developers?”

Google’s Pigweed For ARM Development Is A Nice Surprise

Setting up an environment for Embedded Development was traditionally a pain and so vendors provide integrated development environments to help bridge the gap. Google has open-sourced their version of an embedded targeted environment designated as embedded-targeted libraries which they trademarked Pigweed.

Google trademarked Pigweed with the U.S. Patent and Trademark Office in February and it popped up on the Google Open Source Blog along with some details.

The repository contains what Google is calling modules but taking a better look reveals that it a little more than that. Packaged in a Python Virtual Environment is a number of tools including an ARM compiler, the clang-format tool and Python 3.8 interpreter which runs more than a few things. The modules that come with Pigweed assist developers by running micro-automations such as the pw_watch module that monitors files for change and triggers a build, test and even flash and debug on hardware. There is also a module that allows pre-submit checks such as linting and formatting.

Google still does not consider this offering production ready though from what we have seen so far, it is a great place for many to start experimenting with for their embedded development automation needs. Anyone tried it out yet?

If you have been inspired with the amazing powers of automation and want to dive in yourself, have a look at Software Development in BASH and Continuous Integration with Python.

 

Hackaday Links Column Banner

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!