Contributing to Airtime
  • Hello, I'd like to discuss the current climate for contributing to airtime. I know that the team is mostly working on the Airtime Pro SaaS and their a lot of features built for that that have not make it back to the github repository, not even the 2.6.x branch. I can completely respect wanting to focus effort on the SaaS after all without money there are no developers, However the fact that the most recent code commit fo any substance to the repository is over a year old and that there are pull request still open that are up to 2 years old I'm skeptical if any contributions are welcome at the moment.

    I personally want to work on breaking Airtime of it's Debian dependence and bring the code up to spec with the more recent versions of the tech and libraries Airtime runs on. I'd also like to work on features like Spinatron integration etc.

    So I'll ask bluntly. if make contributions against the currently open source code base will they even be considered/relevant given the, likely large, block of changed that aren't even public yet?
  • 5 Comments sorted by
  • I'm with you.

    And that's funny, because Debian "dependency" is kind of broken too. Debian repositories have outdated packages (2.5.1, more than 2 years old) and it's still impossible to install in Debian 8, that has been stable almost for a year.

    So either:
    • We help to fix Debian (and other distros) installer and gets accepted into main trunk
    • We fork and do it by ourselves
    • We switch to Rivendel or similar
    Our NGO is sort on resources and has been surviving with second hand and donated hardware and services for years, I can dedicate time but not money for Airtime Pro service.

    Sadly, I'm not a PHP programmer, I'm into python. I'm more a sysadmin guy.
  • Vote Up0Vote Down Daniel JamesDaniel James
    Posts: 844Member, Sourcefabric Team
    Hi Ben, hi Alvaro,

    Airtime is only dependent on Debian/Ubuntu insofar as we provide
    installation scripts which automate system setup.

    In theory, you could run Airtime on any GNU/Linux server, if you were to
    go to the trouble of compiling every dependency in a known working
    version, but that's a great deal of work for no great benefit.

    I'd suggest that it is easy to underestimate the complexity of Airtime
    and how it interacts with various audio applications on the server. It's
    way more complicated than a typical web app. You could save yourself a ton of time and trouble just by installing one of the recommended distros on the server you want to use for Airtime.

    Also, Red Hat based systems have the limitation that user interaction at
    package installation time is forbidden as a matter of policy. This could
    potentially be solved by using the post-install wizard that was launched
    with the new installer in the 2.5.2 release.

    Changes in that installer broke some of our packaging scripts, and no
    developer time was available to work on those issues, so the 2.5.2 deb
    package was not release quality. If you would like to work on some of those issues, the packaging scripts are here: https://github.com/airtime/airtime-packaging/tree/2.5.2

    Cheers!

    Daniel
  • Hi Daniel,

    But the interesting part of the question is:

    • if we make contributions against the currently open source code base will
      they even be considered/relevant given the, likely large, block of
      changed that aren't even public yet?
    • do you accept external contributions or is your internal codebase so detached of the github one that it won't be taken in account?

    Thanks!

  • there is actually a pretty hard Debian dependence in how the daemons start and stop them selves

    usage of start-stop-daemon, a debian and init.d bound script to start processes and manage pid files. basically means that any attempt to run on a non debian/ubuntu based system will have to work around this.

    there is even a sub-process call to "/etc/init.d/airtime-liquidsoap restart" that attempts to restart liquidsoap

    airtime is inherently incompatable with any distro that has moved to systemd which even includes new debian and ubuntu releases.
    Post edited by Ben Powers at 2016-05-31 13:11:29
  • Vote Up0Vote Down RobbtRobbt
    Posts: 80Member
    Yes, the 2.5.2 version is pretty much legacy code at this point. But unfortunately the development team hasn't been able to allocate the resources to cleaning up the code for an open-source release. They did have their SAAS code on github for a while until they pulled it. I've e-mailed back and forth with Albert but they haven't yet decided upon a release date for the new version of Airtime.

    I'm not sure when this will happen, it seems like the challenge is primarily an economic one as they need to have sufficient customers to pay for the developers wages and releasing the latest code will take time and make it easier for people to set-up competitors to airtime.pro. The AGPL v3 is supposed to provide some protection in terms of requiring anyone using their codebase on their own service to also share all the code.

    At the same time they are still promoting Airtime as open-source software and their organization as a whole is committed to the concept of open-source. Hopefully there can be a new release soon so that the community can contribute to the development and Airtime can flourish as an open-source project.