PROJET AUTOBLOG


Free Software Foundation Recent blog posts

source: Free Software Foundation Recent blog posts

⇐ retour index

ABYSS - the genesis of a fully free streaming software package used at LibrePlanet

jeudi 12 mai 2016 à 21:48

"Make it better every year."

As an FSF intern during the winter and spring of 2016, I had the opportunity to be around FSF's tech team during LibrePlanet preparation, and we spent a lot of time making the streaming and recording work as well as possible so that people who were not in each talk could still watch it (all the recordings are already up on media.libreplanet.org).

Each room at the LibrePlanet conference has a streaming set-up staffed by a volunteer. There are many skilled volunteers, but we need to minimize the risk of failed recordings due to over-complex or error-prone software systems. So, in order to improve streaming we decided to quickly develop a GPLv3 program to provide a seamless interface for an audio and/or video streaming console.

As a newcomer to the free software community, I have been looking for ways to contribute by coding. The huge amount of projects in progress have overwhelmed me a bit. So, when it was proposed to create a piece of software to be used directly by the community at the conference, I was full of joy about beginning a project.

How it works

It all began with creating a new prototype, named ABYSS Broadcast Your Stream Successfully (ABYSS), for LibrePlanet 2016. The first goal of ABYSS was to move past command-line based streaming, by automating what we could. The second goal was to provide audio/video feedback for the volunteer at the station to monitor the streaming. I chose to write ABYSS in Python 3.4, using the Gstreamer 1.0 and GTK3+ modules.

Gstreamer pipelines are the core element of ABYSS. They allows ABYSS to behave slightly differently according to user actions or loss of the feed. With the GTK3+ graphical user interface, it is easy to switch from test mode -- for testing the audio and video chain without broadcasting -- to stream mode, which broadcasts the feeds. In the event of main camera source failure, ABYSS changes the pipeline to fetch the video source from a backup USB webcam and then starts broadcasting again. In addition, each stream is actually recorded locally in three forms to allow easy post-processing: audio-only, raw-video, and audio-video.

This early version (which I consider v0.1) was definitely a proving ground for ABYSS. It was used in each room during LibrePlanet (except for the Snowden opening keynote) and it performed well despite the relative lack of testing and some network problems at the venue.

The next version

ABYSS version 1.0 will integrate plenty of new functionality like:

The last two bullets are the most visible ones for users. Control-room mode will allow a user to effectively control several streams from a single computer. This will be an extension of the functionality of ABYSS 0.1. The monitoring mode, unlike control-room mode, will be a completely new functionality. It will allow users to simply watch what is being streamed on the computer next to the camera, so that user can check the framing/focus of the camera, for example, instead of worrying if feeds are even being broadcast. This mode is designed to cooperate with control-room mode. The stream will be launched/stopped only from the control-room computer and monitoring mode users will be free to focus on improving the quality of the stream by focusing only on the video and/or audio as inputs and leaving the remaining operations to the control-room mode user.

For a smaller set-up, the control-room mode will work as a standalone. Nevertheless, the real advantage of using computers for monitoring and one computer as a control-room is that you can centralize heavy duty feeds processing on one powerful control-room computer. The more powerful your workstation is, the better the stream quality will be.

Hack on ABYSS

If this post whets your appetite you can download ABYSS at https://vcs.fsf.org/?p=libre-streamer.git;a=summary. Disclaimer: this is version 0.1, tested only on x86 computers running Trisquel 7. This is not a package, and you will probably have to download some other software to get it running.

To see the whole system of which ABYSS is a part, check out the documentation for the 2015 and 2016 LibrePlanet streaming systems on the LibrePlanet wiki.

Thanks!

I would like to end here with a special thanks to some people at the FSF: Lisa Marie Maginnis, senior sysadmin, for proposing this project to me and letting me do things my way. Ruben Rodriguez, senior sysadmin, for providing a working pipeline for LibrePlanet 2016 and giving ideas and advice on the upcoming ABYSS 1.0. And John Sullivan, executive director, for giving me the opportunity to do an internship at FSF headquarters. Nothing would have been done without them.

See you in one year at the next LibrePlanet, when ABYSS 1.0 will emerge from the depths.

Happy hacking

Friday the 13th <insert scary sounds> Free Software Directory IRC meetup: May 13th

jeudi 12 mai 2016 à 17:49

Join the FSF and friends Friday, May 13th, 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.

Ethics in, ethics out -- promote user-respecting software development platforms

mercredi 11 mai 2016 à 16:57

This post was written by FSF campaigns manager Zak Rogoff and community member Andrew Ferguson.

In April, the Free Software Foundation and the GNU Project announced evaluations of several major repository-hosting services. These services are the bedrock infrastructure that our community uses to collaborate and communicate while building software, and therefore a big part of what we put into the construction process that creates free software. Using the GNU Ethical Criteria for Code Repositories, the evaluations judge code-hosting services for their commitment to user privacy and freedom. Now we are asking you to help support sites that meet the criteria and improve those that do not.

Currently, Savannah and GitLab meet or surpass the baseline standards of the criteria. You can explore the completed evaluations on the evaluation page. The criteria page offers more information on the evaluation process, as well as the criteria themselves.

Ethical code hosting is important not just for developers, but for users of free software, too. Repositories usually provide Web sites with downloadable executable programs compiled from the code they host, and are thus a popular way for users to get up-to-date copies of free software. The sites also host issue trackers that let users submit bug reports and provide feedback to developers.

Because they are central to free software in so many ways, the practices of code hosting services have ripples into the world of free software, and software in general. The repository evaluations promote and honor good ethical practices by repositories, and make it easy for users to find services that respect them.

There are four things you can do to help, depending on how you participate in the free software community:

"More volunteers with coding ability are needed to aid the development of existing repository services to help them meet these criteria," said Andrew Ferguson, a community member who played a leadership role in the evaluation project. "All community members are encouraged to write the administrators of code-hosting services, to build awareness and a motivation to improve their ethical evaluations. GitHub has responded to some requests from the free software community and has recently updated its license chooser to include the GPLv3 license. However more community advocacy is required, as GitHub still fails to meet the criteria."

Indeed, political pressure and technical assistance from the free software developer community are the best tools we have for improving the ethical practices of code hosting sites. We expect many successes in this journey in the years to come, as projects like the ethical criteria for code hosting repositories build awareness of the infrastructure of free software development.

Special Friday Free Software Directory IRC meetup and LIVE STREAM: May 6th

jeudi 5 mai 2016 à 19:28

Join the FSF and friends Friday, May 6th, from 12pm to 3pm EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory. This week's meet-up will include a live video stream, featuring the FSF's licensing & compliance manager, Joshua Gay (see "screen capture" from our test run of the video stream, below).

::~`              `:::***1111111&&&&&&&&&&&&&&&&&&&&&&11111111111  *:::::~~~~~~:
:~~`                `::**11111&&&&&&&&&&&&&&&&&11&&111111111111***::~```    ` ``
:~~`                 ~::*****111111111111111111111111111*1***111**~`            
::~~`                 ~:::********111111111111*1111**1*****:::~~~               
**:::~~              ~~~::::*****1**1*111*111*11********:*::~~~                 
11**::~`~           `~~:::******111111111111:`  ~`  :***::::~~``                
111****::~~```~~~~::***111&&&&UUUUUUUU;&&&&`            1**::~~``            ``~:
11**::~`              `~::**1111&&&&&&&&~                &11****::::::******11*1
*::~                      `~:**11111&11                   ~~           ``~::***1
UUUUUU  ~~                   `~~:*1111~        `          ~*                :*:*
NNNNNG  &GGGGGGGGGU1;              `~*1&     `:~~~**:::~  `*&                  `~
NNNNNG  &GNGNGGGGGG;*               `1&* :&UUUUU;*1UGGUU&&: ~&             11&&&&&
NNNNNN  UNNNNGNGGG&                :1& ~1UGNNN1  GNGNNGU1~ &            1&&&UUUU;
NNNNNN  GNNNNNNNNGG        ~       `&&     ~~``  ````      &            UUGGGGUU
NNNNNG  NNNNNNNNNNG        ` `&&`:` 1     `::    `~*`~``~` :            GGGGGUUU
NNNNN&  NNNNNNNNNNG          :      1  :*1UU:GNUGGU&&&&&1*`             &UGGUU;&`
GNNNN`  NNNNNNNNNNN          `      * `&UGG;&**:UU&U;&UGG;&&*              1UNUU&*:
GGNNN  `NNNNNNNNNNN                 * `1&**:NUUUUUGG&1:11*              GNG&1N1:
UGNNN  &NNNNNNNNNNN;      GNNNNNNNNNN~  &&1~::**:**1***&&1*              ~1NNNUNN
UGNNN  GNNNNNNNNNNN     NU NN           U&*`::~~~~~`:&&&&               &NN1;&GN;&
UGNNN  NNNNNNNNNNNN     &NNN;            &UU1;`*:::~~*&UUU;&*:1&`          ~U* &NN1;
UUNNN  NNNNNNNNNNNN      NNNGNNUUUGGU*&NUGGGNGGGGNNGGGGU;:GNGUGNNN       `N: NNNG
GNNNN  NNNNNNNNNNNG      NUU:`~:::U111NUN1GNNNNNNNNNNGU1: NNGGG&         NUNNNGG
UG~~1` GNNNNNNNNNNU      11&&&&1&UU1;&UGUN;&*UGNNNNNNGGU&&1NNNGNGGG        UUNGNNG
&NNN;& ~N&NNNNNNNNN;:    1*G1UUUU&GNG;&GNGGGGN1;&GNNNGGGGGNNNNNNNNNU1G;&:::~~~`~~~~*N
U&NN;~ :NNNNNNNNNNN    1&UGGGUNNGNNU;&NN;&NN;*UNNNNNNNNNNNNNNNNNNNGGGGU&&U1;*1`::~:1N
*~`   ~:`*NNNNNNNN  `1U&GGGNGNUNNGUUGNUGGGUUNNGNNNNNNNNNNNNNNNGNNGUGGGGG;&*11111~
1&&11~:::~*`N*:*NN `&&&NGGNNGNNNNNUNGGGGU;&NNNNNGNNNNNNNNNNNNNNGNNGGGGNNGUU1;*111N
&1U&UU1;  :NNNNNNNG`&&UUUGNNNNGNNNGGNGGUUUGUGGGNGNNNNNNNNNNNNNNNNNNNNNNNNNN;&GG1;&:
&UU;&1GUNNNNNNNGNNN111UUNGNNNNGNNNGNNNGNGUUNGNGNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGNU11
UUGGNNNNNNNNGGGG&&&&UUNNGNNNNGNNNNNNNNGGGGNNGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGGGU;&
UUUUGNNNNGUUGGGG&1&&UGGGNGNNGGNNNNNNGUNNGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNG;

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.

GNU Spotlight with Brandon Invergo: Twenty new GNU releases in the last month (as of April 25, 2016):

jeudi 5 mai 2016 à 18:50

20 new GNU releases in the last month (as of April 25, 2016):

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 Russell Hyer as a new co-maintainer of GNU PDF.

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.