SlideShare une entreprise Scribd logo
1  sur  22
A Free Software Radio
Station Automation System
About Me & my projects
● Board Chair of the Neighborhood Network – which operates
WCRS-LP
● Over 20 years of experience with Linux, Free Software and
computing
● Recent graduate of Ohio State with a degree in computer
science
● Full-time stay at home dad and part-time coder
Why Free Software Matters for
Community Media
● Minimizing dependence upon external entities
● Free as in beer – low budgets benefits from low
overhead
● Ability to customize to meet custom needs –
can’t rely upon paid staff
● Helps if the software is usable and maintainable
by non-experts
What did we use before LibreTime
● WinAmp
● RadioLogik
● Airtime – a promising web based app but
limited in terms of automation
LibreTime Origin Story
● Airtime – a project of
SourceFabric – formerly
CampCaster
● Airtime code license is
switched to AGPLv3
● Submitted my first PR
● Airtime.pro is launched
Discussions with SourceFabric
● The airtime.pro code is available under a
branch of github called saas-dev
● Attempt to get saas-dev working to contribute to
next 3.0 version of Airtime
● Communicate with project lead and developer
about contributing
● Saas-dev branch is deleted from github and
email asking about this is ignored
LibreTime is born
● Eeebcaster – a demo of the saas-dev branch
released as a zip file – all git history is lost
● The C4 – collective code construction contract
from ZeroMQ – Peter Hintjens
● Making everything visible on GitHub – finding a
fork that was made before the branch was
deleted and releasing as a new project – couldn’t
properly “fork” Airtime – it becomes a new
project
Post-Fork: it’s your baby now
● All the bugs you can document – also means
someone needs to fix them
● Planning for the future
● End user support
● Community drama – disagreements and sloppy
contributions
LibreTime for Users
● Time for a demo of how LibreTime works from
the point of view of a end-user
Calendar
● Show the calendar and the concept of shows
Tracks
● Uploading and scheduling
Users
● How libreTime allows various roles etc and the
ownership of users over various shows
Live Streaming
● Launch Mixxx and broadcast over the existing
stream using a per-show authentication
Podcasts, Smartblocks and
Automatic Playlists
● Yes we can digest RSS and use it to feed tracks
● The notion of the playlist, the smartblock and the
automatic playlist explained
● A discussion of the SQL orientated “language” of
the smartblock and how this can be a cognitive
challenge for end users
● How I first took the plug as a developer for
LibreTime
Widgets and Radio Page
● We have a player widget – sometimes it uses
flash
● We have a calendar that you can embed via a
iframe
● There is a radio page that provides both of
these and a front-end for the actual stream
LibreTime: behind the scenes
● Icecast2: serves the stream
● Liquidsoap: OCAML based media scripting
environment – feeds Icecast stream
● Python: integrates liquidsoap with the web site
● RabbitMQ: queue based messaging interface
● PHP & Postgresql + Propel ORM: creates the website
that end users interact
● Javascript – lots of jQuery, Angular & too much custom
code
LibreTime: a developer perspective
● Zend 1 MVC – EOL in 2016 – still no clear path
forward in 2018
● Jquery plugins that were all hacked in various
ways thus breaking the ability to upgrade to a
new version
● Tests – some tests but not much coverage
Dive Into LibreTime
● A brief walk through of the codebase showing
how the various PHP functions are linked
together and how much of a pain it can be to
add new features
The Future of LibreTime
● Technical Debt: how to build the future when
the foundation is shaky
● Complete overhaul or incremental approach
● Rebuild one part at a time ?
● How to deal with taking over partially completed
work by people who are no longer involved
LibreTime: Community
● There is an obvious need for LibreTime as new
users come on-line every day looking for a
web-based way to run a “radio” station
● Contributions from around the globe:
developers in Austria, UK, Mexico, Brazil
LibreTime: a work in progress
● Seeking grants to fund development: The
Neighborhood Network received a grant from the
Greater Columbus Arts Council to fund
improvements to LibreTime
● Creating a Open Collective to create an
accountable body to manage funds as a project
● How do you get everyone on board when people
are contributing in their free time and have
differing levels of availability
Questions ?
● Website: http://LibreTime.org
● My email – robbt@azone.org
● My github: https://github.com/robbt
● LibreTime repo:
http://github.com/libretime/libretime

Contenu connexe

Tendances

Tendances (20)

Python Pune October Meetup 2015
Python Pune October Meetup 2015Python Pune October Meetup 2015
Python Pune October Meetup 2015
 
The state of Jenkins pipelines or do I still need freestyle jobs
The state of Jenkins pipelines or do I still need freestyle jobsThe state of Jenkins pipelines or do I still need freestyle jobs
The state of Jenkins pipelines or do I still need freestyle jobs
 
Cassovary
CassovaryCassovary
Cassovary
 
Jumping in Jakarta Open Source Project Everything nobody tells you
Jumping in Jakarta Open Source Project  Everything nobody tells youJumping in Jakarta Open Source Project  Everything nobody tells you
Jumping in Jakarta Open Source Project Everything nobody tells you
 
Open Source Integration Engines
Open Source Integration Engines Open Source Integration Engines
Open Source Integration Engines
 
Creating an api from design to security.
Creating an api from design to security.Creating an api from design to security.
Creating an api from design to security.
 
Improving your code design using Java
Improving your code design using JavaImproving your code design using Java
Improving your code design using Java
 
Kshitij
KshitijKshitij
Kshitij
 
Berlin AWS meetup: here.com on AWS
Berlin AWS meetup: here.com on AWSBerlin AWS meetup: here.com on AWS
Berlin AWS meetup: here.com on AWS
 
Code:Nation Tech Stack
Code:Nation Tech StackCode:Nation Tech Stack
Code:Nation Tech Stack
 
How to approach building GUIs using PyQT
How to approach building GUIs using PyQTHow to approach building GUIs using PyQT
How to approach building GUIs using PyQT
 
Front end microservices: architectures and solution
Front end microservices: architectures and solutionFront end microservices: architectures and solution
Front end microservices: architectures and solution
 
Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!
 
Adopting language server for apache camel feedback from a java/Eclipse plugi...
Adopting language server for apache camel  feedback from a java/Eclipse plugi...Adopting language server for apache camel  feedback from a java/Eclipse plugi...
Adopting language server for apache camel feedback from a java/Eclipse plugi...
 
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
QGIS UK: Developing with QGIS - What is possible (Lutra Consulting)
 
MuleSoft MuleSoft Meetup - Shared Flows
MuleSoft MuleSoft Meetup -  Shared FlowsMuleSoft MuleSoft Meetup -  Shared Flows
MuleSoft MuleSoft Meetup - Shared Flows
 
Constinuous Integration
Constinuous IntegrationConstinuous Integration
Constinuous Integration
 
Bootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to HeroBootify Yyour App from Zero to Hero
Bootify Yyour App from Zero to Hero
 
Lightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docsLightning talk how to edit the Silverstripe CMS docs
Lightning talk how to edit the Silverstripe CMS docs
 
Git kelvin
Git   kelvinGit   kelvin
Git kelvin
 

Similaire à LibreTime: a web-based automation system for radio - presentation at Ohio Linux Fest 2018

QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
Szczepan Faber
 

Similaire à LibreTime: a web-based automation system for radio - presentation at Ohio Linux Fest 2018 (20)

[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
[APIdays Singapore 2019] Managing the API lifecycle with Open Source Technolo...
 
State of NuPIC
State of NuPICState of NuPIC
State of NuPIC
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
Leading an open source project as a startup
Leading an open source project as a startupLeading an open source project as a startup
Leading an open source project as a startup
 
Leading An Open Source Project As A Startup
Leading An Open Source Project As A StartupLeading An Open Source Project As A Startup
Leading An Open Source Project As A Startup
 
Language Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to ProductionLanguage Matters: JavaScript 
from IoT Product Concept 
to Production
Language Matters: JavaScript 
from IoT Product Concept 
to Production
 
React for non techies
React for non techiesReact for non techies
React for non techies
 
React for Non Techies
React for Non TechiesReact for Non Techies
React for Non Techies
 
React for non techies
React for non techiesReact for non techies
React for non techies
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium project
 
Beyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in ProductionBeyond the Hype: 4 Years of Go in Production
Beyond the Hype: 4 Years of Go in Production
 
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and MockitoQCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
QCon'17 talk: CI/CD at scale - lessons from LinkedIn and Mockito
 
Open source, What | Why | How
Open source, What | Why | How Open source, What | Why | How
Open source, What | Why | How
 
Open Source and Cloud - The Two Great Tastes...
Open Source and Cloud - The Two Great Tastes...Open Source and Cloud - The Two Great Tastes...
Open Source and Cloud - The Two Great Tastes...
 
Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making Profits
 
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
Word press beirut December 4 Meetup - Gutenberg VS WP-Bakery
 
Simple Web Services with PHP
Simple Web Services with PHPSimple Web Services with PHP
Simple Web Services with PHP
 
Global Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 ForecastGlobal Open Source Development 2011-2014 Review and 2015 Forecast
Global Open Source Development 2011-2014 Review and 2015 Forecast
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

LibreTime: a web-based automation system for radio - presentation at Ohio Linux Fest 2018

  • 1. A Free Software Radio Station Automation System
  • 2. About Me & my projects ● Board Chair of the Neighborhood Network – which operates WCRS-LP ● Over 20 years of experience with Linux, Free Software and computing ● Recent graduate of Ohio State with a degree in computer science ● Full-time stay at home dad and part-time coder
  • 3. Why Free Software Matters for Community Media ● Minimizing dependence upon external entities ● Free as in beer – low budgets benefits from low overhead ● Ability to customize to meet custom needs – can’t rely upon paid staff ● Helps if the software is usable and maintainable by non-experts
  • 4. What did we use before LibreTime ● WinAmp ● RadioLogik ● Airtime – a promising web based app but limited in terms of automation
  • 5. LibreTime Origin Story ● Airtime – a project of SourceFabric – formerly CampCaster ● Airtime code license is switched to AGPLv3 ● Submitted my first PR ● Airtime.pro is launched
  • 6. Discussions with SourceFabric ● The airtime.pro code is available under a branch of github called saas-dev ● Attempt to get saas-dev working to contribute to next 3.0 version of Airtime ● Communicate with project lead and developer about contributing ● Saas-dev branch is deleted from github and email asking about this is ignored
  • 7. LibreTime is born ● Eeebcaster – a demo of the saas-dev branch released as a zip file – all git history is lost ● The C4 – collective code construction contract from ZeroMQ – Peter Hintjens ● Making everything visible on GitHub – finding a fork that was made before the branch was deleted and releasing as a new project – couldn’t properly “fork” Airtime – it becomes a new project
  • 8. Post-Fork: it’s your baby now ● All the bugs you can document – also means someone needs to fix them ● Planning for the future ● End user support ● Community drama – disagreements and sloppy contributions
  • 9. LibreTime for Users ● Time for a demo of how LibreTime works from the point of view of a end-user
  • 10. Calendar ● Show the calendar and the concept of shows
  • 12. Users ● How libreTime allows various roles etc and the ownership of users over various shows
  • 13. Live Streaming ● Launch Mixxx and broadcast over the existing stream using a per-show authentication
  • 14. Podcasts, Smartblocks and Automatic Playlists ● Yes we can digest RSS and use it to feed tracks ● The notion of the playlist, the smartblock and the automatic playlist explained ● A discussion of the SQL orientated “language” of the smartblock and how this can be a cognitive challenge for end users ● How I first took the plug as a developer for LibreTime
  • 15. Widgets and Radio Page ● We have a player widget – sometimes it uses flash ● We have a calendar that you can embed via a iframe ● There is a radio page that provides both of these and a front-end for the actual stream
  • 16. LibreTime: behind the scenes ● Icecast2: serves the stream ● Liquidsoap: OCAML based media scripting environment – feeds Icecast stream ● Python: integrates liquidsoap with the web site ● RabbitMQ: queue based messaging interface ● PHP & Postgresql + Propel ORM: creates the website that end users interact ● Javascript – lots of jQuery, Angular & too much custom code
  • 17. LibreTime: a developer perspective ● Zend 1 MVC – EOL in 2016 – still no clear path forward in 2018 ● Jquery plugins that were all hacked in various ways thus breaking the ability to upgrade to a new version ● Tests – some tests but not much coverage
  • 18. Dive Into LibreTime ● A brief walk through of the codebase showing how the various PHP functions are linked together and how much of a pain it can be to add new features
  • 19. The Future of LibreTime ● Technical Debt: how to build the future when the foundation is shaky ● Complete overhaul or incremental approach ● Rebuild one part at a time ? ● How to deal with taking over partially completed work by people who are no longer involved
  • 20. LibreTime: Community ● There is an obvious need for LibreTime as new users come on-line every day looking for a web-based way to run a “radio” station ● Contributions from around the globe: developers in Austria, UK, Mexico, Brazil
  • 21. LibreTime: a work in progress ● Seeking grants to fund development: The Neighborhood Network received a grant from the Greater Columbus Arts Council to fund improvements to LibreTime ● Creating a Open Collective to create an accountable body to manage funds as a project ● How do you get everyone on board when people are contributing in their free time and have differing levels of availability
  • 22. Questions ? ● Website: http://LibreTime.org ● My email – robbt@azone.org ● My github: https://github.com/robbt ● LibreTime repo: http://github.com/libretime/libretime