PROJET AUTOBLOG


Free Software Foundation Recent blog posts

source: Free Software Foundation Recent blog posts

⇐ retour index

Friday Free Software Directory IRC meetup: June 10th

jeudi 9 juin 2016 à 16:20

Join the FSF and friends Friday, June 10th, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.

Participate in supporting the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today! There are also weekly FSD Meetings pages that everyone is welcome to contribute to before, during, and after each meeting.

Twenty-seven new GNU releases in May

jeudi 2 juin 2016 à 14:36

For announcements of most new GNU releases, subscribe to the info-gnu mailing list: https://lists.gnu.org/mailman/listinfo/info-gnu.

To download: nearly all GNU software is available from https://ftp.gnu.org/gnu/, or preferably one of its mirrors from https://www.gnu.org/prep/ftp.html. You can use the url https://ftpmirror.gnu.org/ to be automatically redirected to a (hopefully) nearby and up-to-date mirror.

This month, we welcome Mohd Isam as the maintainer of the new package Fontopia, Peter Cherepanov as the new maintainer of GGradebook, Tom Cato Amundsen as a returning maintainer of Solfege, and Leah Woods as the maintainer of the newly dubbed GNU Libreboot.

A number of GNU packages, as well as the GNU operating system as a whole, are looking for maintainers and other assistance: please see https://www.gnu.org/server/takeaction.html#unmaint if you'd like to help. The general page on how to help GNU is at https://www.gnu.org/help/help.html.

If you have a working or partly working program that you'd like to offer to the GNU project as a GNU package, see https://www.gnu.org/help/evaluation.html.

As always, please feel free to write to us at maintainers@gnu.org with any GNUish questions or suggestions for future installments.

LibrePlanet forever! Watch sessions from 2016 online

mercredi 1 juin 2016 à 00:02

We are thrilled to announce that recordings and slides from LibrePlanet 2016 sessions are now available online!

That's right, you can now watch the keynote conversation with NSA whistleblower Edward Snowden and 32 more sessions from LibrePlanet 2016: Fork the System on the Free Software Foundation's (FSF) GNU MediaGoblin instance, including:

LibrePlanet 2016

Creative Commons License
This work by Kori Feener is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Based on a work at https://u.fsf.org/1t8.

Recorded talks include Free software, free society** by Allison Randal, current and past director of multiple foundations in the world of free software; Companies, free software, and you by Karen Sandler, executive director of the Software Freedom Conservancy; The Free Software Awards with a talk by Richard Stallman, founder of the Free Software Foundation; Restore online freedom! by Mike Gerwitz, GNU Project volunteer; and Inessential weirdnesses in free software*** by Sumana Harihareswara, founder of Changeset Consulting.

The LibrePlanet 2016 program has links to all recorded talks and their accompanying slides. All sessions recorded for LibrePlanet 2016 are now available – that's over 25 hours of free software ideas! This year, we were able to sponsor travel costs for eight LibrePlanet speakers and two attendees – help others contribute to LibrePlanet 2017 by making a donation to the LibrePlanet scholarship fund.

You can watch many more FSF videos (and some photos, too) on media.libreplanet.org, our instance of the publishing platform GNU MediaGoblin. GNU MediaGoblin is a free software media publishing platform that is a decentralized replacement to sites like YouTube and Flickr. You can support the project with a donation via the FSF.

Live streaming and recordings of LibrePlanet were made possible by our tech team and their volunteers, including intern David Testé, who wrote about his experience creating the fully free streaming software package, ABYSS, that was used to stream LibrePlanet 2016 live.

Enjoy the videos – and perhaps we'll see you again at LibrePlanet 2017!

Friday Free Software Directory IRC meetup: May 20th

mercredi 18 mai 2016 à 21:11

Join the FSF and friends Friday, May 20th, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory.

Participate in supporting the Free Software Directory by adding new entries and updating existing ones. We will be on IRC in the #fsf channel on freenode.

Tens of thousands of people visit directory.fsf.org each month to discover free software. Each entry in the Directory contains a wealth of useful information, from basic category and descriptions, to providing detailed info about version control, IRC channels, documentation, and licensing info that has been carefully checked by FSF staff and trained volunteers.

While the Free Software Directory has been and continues to be a great resource to the world over the past decade, it has the potential of being a resource of even greater value. But it needs your help!

If you are eager to help and you can't wait or are simply unable to make it onto IRC on Friday, our participation guide will provide you with all the information you need to get started on helping the Directory today! There are also weekly FSD Meetings pages that everyone is welcome to contribute to before, during, and after each meeting.

The Licensing and Compliance Lab interviews Kees Verruijt of CANboat

mercredi 18 mai 2016 à 20:48

Kees Verruijt is a sailing software engineer from Harlingen, NL. He maintains CANboat, which he describes as "[a] small but effective set of command-line utilities to work with CAN networks on BOATs".

A valentine's day crypto robot

By Femnett/Maretron, LLP (Maretron, LLP) CC BY 2.5, via Wikimedia Commons

To help you understand a bit more about the technology on top of which CANboat works, we have provided a brief explanation below. The following text has been adapted from the CAN bus article on English Wikipedia (which was originally licensed under the terms of the Creative Commons Attribution-ShareAlike 3.0 License):

A Controller Area Network (CAN bus) is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other without a host computer or server. It is a message-based protocol that was designed originally for multiplex electrical wiring within automobiles. Modern automobiles may have as many as 70 electronic control units (ECU) for various subsystems. Others are used for transmission, airbags, antilock braking/ABS, cruise control, electric power steering, audio systems, power windows, doors, mirror adjustment, battery and recharging systems for hybrid/electric cars, etc. Some of these form independent subsystems, but communications among others are essential. A subsystem may need to control actuators or receive feedback from sensors. The CAN standard was devised to fill this need. The use of CAN was adopted by the marine industry, because they also needed a plug-and-play communications standards used for connecting marine sensors and display units within ships and boats.

Could you provide a little info to landlubbers about the kinds of electronics and computers used in the marine world?

Marine electronics has a long history, it was way back in the 1960s when electronics were starting to make an appearance on recreational and commercial boats. Depth sensors, marine radios, wind sensors and geo-location devices were appearing on the market. In the beginning every manufacturer started creating their own networks, usually based on some variation of serial data, typically running at 4800 or 9600 baud. Electronic sensors enabled boaters to have displays with data such as compass heading, wind and boat speed. Two other major developments were the first auto-pilots (a device that keeps the boat on a particular heading) and position locators -- first based on land based radio signals and later on satellite radio signals. As you can imagine knowing where you are is much harder for a sailor than a landlubber as there are so few reliable points of reference out on the ocean! One of the first applications for a protocol used by devices made by different manufacturers was to pass heading data from the sensor network or from the satellite navigator to the auto-pilot.

The need for industry data standards lead to a group of US electronics dealers forming the National Maritime Electronics Association (NMEA), which interacted with the various manufacturers to standard protocol and data formats for devices. Membership for these manufacturers meant access to the large single US market, so soon manufacturers from Europe and Australia/New Zealand joined as well. In the 1980s this resulted in the NMEA 0180 and later 0183 standard. This standard is used every day by billions of users as (almost) all modern satellite navigation building blocks will transmit data using this protocol.

As the number of devices on board started to rise and new sensors and displays were added the manufacturers saw that a new standard would be needed. Like most such standard committees they chose a name that would reflect the hoped-for release year, so NMEA 2000 came to be. It took a few years more before the first NMEA 2000 devices to come to market, but today they're everywhere. NMEA 2000, or N2K, is based on CANbus. Development for CANbus was started by Bosch for use in the car industry, but it was soon adopted by many other industries as well. The marine version communicates at 250,000 baud, and allows you to hook up many devices to a single "backbone" meandering through your ship. Electrically its really neat -- no master device, no wasted bandwidth with high priority messages automatically taking precedence. The datagrams are easier to generate and parse in small microcontrollers as the format is in binary, with fixed bit length fields. In other words, when done correctly they map one-on-one to a C structure with the fields in a native C unsigned or signed integer value. This also has the effect of the data being harder to understand if you don't have access to the standard.

Where does CANboat fit into all this?

Use of the NMEA 2000 standard is encumbered by onerous copyright restrictions. The original documents are under copyright, and no member NMEA is allowed to publish them, not even in a different format. This resulted in manufacturers documenting just the list of sentences that their devices support. The NMEA nowadays does provide a list of all messages and what fields they contain, but not the precision or meaning of these fields.

CANboat gets around this by being written using only public sources, without access to the standard itself. The technical detail of which fields take up how many bits and what the used precision is was reverse engineered from live networks.

Nowadays CANboat is the only comprehensive NMEA 2000 database available in a free format. It also contains programs that can be used to read N2K data from the bus, convert it into text, XML or JSON and pass it on to other software.

What inspired you to create CANboat?

As I was building a new boat in 2008-2010 I wanted to have a single device that would show all the data available on board via a simple Web interface. I could join the NMEA and buy the NMEA 2000 standard (spending $3,000 USD or so) but then I couldn't actually release my program as free software. So I figured that the only way out was to reverse engineer the protocol from scratch. It took me about a week to write some code to interact with a CAN interface and only a few evenings before I had the first datagram done.

Soon I was able to have my dream of a tablet-friendly, HTML5(ish) page, in 2010. It took many evenings though over the last 6 years to add more and more N2K datagrams. Luckily, after making the sources GPL and putting them on Github I soon got a few collaborators from around the globe. All regular non-company specific NMEA 2000 messages are now decoded, most of them completely. CANboat is unique in that it also decodes. It is able to direct quite a number of company specific messages, but work on this is particularly slow as it requires a software developer with both access to a device producing them, a (perceived) need to use them and the will to put in hard hours doing the reverse engineering. This involves looking at hex dumps and fiddling until it makes sense.

How are people using it?

This has changed over time. In the early days everyone in the Marine Electronics community loved the idea but didn't necessarily use it -- partly because you need to have N2K on board. Andrew Mason of the University of Auckland, N.Z., was one of the first who grasped what I was doing and he created OpenSkipper using the CANboat database, and others soon joined.

Nowadays it is used by hobbyists (usually professional software developers with a boat) to monitor their onboard devices. And some even use it to control stuff -- for example turning a water maker off if the shore power fails or the generator shuts down. I use it myself to infer the boat's navigation status and automatically switch on the correct navigation lights. It uses the anchor winch state, engine RPM and GPS location to decide what lights should be on and which should be off.

CANboat is also used by people in the marine electronics industry -- software developers and hardware developers that are either contemplating entering the marine electronics world and are not yet NMEA members or haven't bought the standard yet. It is also used by companies that do have the standard but use it as a "lab instrument" to see what is going on and log data produces by new devices under development.

Probably the biggest set of users are those using it to feed NMEA 2000 data into Signal K servers. Signal K is probably even more exciting than CANboat. It is the outcome of an association of frustrated software developers who felt it was time for a completely new free standard for marine electronics, based on the ideas of "internet of things" and oriented towards reusing standards such as TCP, WS and JSON.

What features do you think really sets CANboat apart from similar software or projects (if there are any similar projects!)?

There are a few other projects that contain N2K parsers, but the ones that I have seen cater more towards very small microcontrollers, and focus on the most used data sentences only. CANboat is the only one with the ambition to cover all messages, and to cover company specific messages.

Why did you choose the GNU GPL version 3 (or later) as the license for CANboat?

I personally think the RFC method of publishing standards is a better one than the ISO/IEC style of charged access. I also don't like how the NMEA uses copyright law to prevents people with access to the standard to talk about content within the standard. Even the IEC doesn't do this. When I decided to make my work free software, I felt that I wanted to help non-professionals to gain access, but I also wanted to respect the NMEA as much as possible. I'm not trying to subvert their business model here, just offering an alternative for free software development. What I didn't want to see happening is that business would just use my work as a means to evade paying the NMEA without them contributing back to the community. This is why I made a deliberate choice for the GPL with its strong copyleft clause, which ensures this.

How can users (technical or otherwise) help contribute to CANboat?

If you've installed CANboat and you get "unknown PGN" messages you should, at the very least, create an issue on Github to make us aware of this. We can then decide to add at least minimal support for these. What would be even better is that you exercise the device that emits the PGNs and do the reverse engineering yourself. This is especially true if the PGNs are in the "company specific" range, as these tend to be hard for others to analyze if they don't have access to a live device.

Over the last five years the amount of community updates has steadily increased, so I'm not complaining, but this is still a mostly-one-person-effort right now.

What's the next big thing for CANboat?

The next big thing is support for Signal K. This is a brand new set of Internet age message and server specifications. If you are a marine electronics enthusiast that wants to build your own sensors and connect those into a network, you should not use NMEA 0183 or NMEA 2000, but Signal K. If you are a software enthusiast that wants to experiment with the data available on your NMEA 2000 network, by all means use CANboat, but use it to feed data into a Signal K server, and then use the Signal K data.

As Signal K is a work that stands on its own and does not require the use of either NMEA 0183 or 2000 it can be the next generation protocol for marine data interchange. This has been recognized by the NMEA as well, who now recommend the use of Signal K when creating new products that communicate over TCP/IP. Signal K code is Apache licensed and protocols and databases are CC BY-SA licensed.

Enjoy this interview? Check out our previous entry in this series, featuring Matt Lee of GNU Social.

I'm richer than you! infinity loop