nixpkgs/pkgs/applications/audio
Philip Horger f7aa6e1140 Fix pianobar license to be accurate (MIT)
This was broken, in a well-intentioned way, in 9350c1d. The maintainer
believed that the Pandora license was in conflict with nixpkg's rights
to build the package, and that it would be safer to avoid picking a
fight. However well-intentioned, though, it was still inaccurate and
unnecessary to change the metadata for the package nixexpr. I will
attempt to support this assertion through several arguments that should
hopefully be independent, such that any one of them would be convincing
enough in isolation to merit merging this commit.

1. The limits of Pandora's TOS

The legal agreement between Pandora and its users applies to the user,
not to third parties. It definitely does not have such an outrageous
scope that Pandora should be allowed to dictate what we may or may not
compile.

Furthermore, most TOS and EULA documents are completely (or at least
mostly) legally bunk. They are constructed such that using any website
or software in a typical manner will result in a violation, and the
consequences for violation are then enforced selectively. However,
when such issues go to court, the court regularly favors the user.
Legal precedent generally follows that such agreements are non-binding
scare tactics, rather than enforceable contracts.

2. Most software can be used for evil

If I buy a lockpick kit, it may have a fully open-source hardware
design, be 3D-print-able, etc. And as long as I don't use it to break
into someone else's home, it is perfectly appropriate for me to
manufacture as many copies as I want, and contribute improvements
upstream.

Conversely, if I do misuse the tools, and I am prosecuted, the person
who made the designs available online is *not* responsible for how I
used them.

If we only package things that cannot be used for evil, we'll have to
stop shipping the Linux kernel, and that could make things...
complicated. But it certainly would discourage the NSA from using NixOS.

3. Intent doesn't matter

There was an argument, in channel, that pianobar's intent is entirely
or predominantly illegal. This is not true, as I'll explain shortly,
but I'd first like to explain why intent does not matter.

First of all, intent is subjective. If someone bumps me on the street,
I may infer ill intent. But from the other person's perspective, she's
just in a rush to get from Point A to Point B.

Second, intent is not related to consequences or development
methodology. Ill intent may lead to positive consequences, and vice
versa, and in all cases the subjectivity argument applies (good for
whom? bad for whom?).

4. Pianobar does not have bad intent

Just look at the project page:

    http://6xq.net/projects/pianobar/

The "most important" means of contribution, according to author, is
keeping Pandora alive. In fact, monetary donations of any kind will not
be accepted.

This seems like it's in conflict with one of the most popular features
of the software - an ad-free experience. But pianobar actually has a
better experience when you have a paid Pandora account - higher-quality
streams become available. Pianobar is fully compatible with paid
accounts, and if the developer does not pay for his Pandora account, I
will eat my hat.

Furthermore, a command line client enables more people to use Pandora in
more ways than the stock Pandora client allows. The stock client is
written in Flash, and is slow, resource-hungry, and useless on a
headless server. Pianobar can be used on just about any hardware, and
there are several hardware recipes listed on the project page which
provide straightforward Pandora-based music appliances, using pianobar's
minimal footprint and remote-control-ability.

Because it opens up more use cases and improves the experience for paid
users, it's actually arguable whether pianobar is "bad for Pandora",
when it clearly *could* be the opposite. It is also probably fair to
note that pianobar has been around for awhile, and Pandora has never
expressed an interest in picking a legal fight with it, or even blocking
pianobar from working.

5. Pianobar's source really is MIT-licensed

It is disingenuous to say that pianobar is nonfree. It's absolutely free
software, you can verify the license content against the MIT license
text for yourself. It is developed and distributed as free and open
source software.

The extent of its 'nonfreedom' is that it interacts with a nonfree
service, in ways that the nonfree service may not allow for in their
TOS. To block it on these grounds, would be like blocking Libreoffice
for its Microsoft Word compatibility, or preventing users from visiting
websites that say "this site only for use with IE7".

------------

In summary, we should strive for technical accuracy, rather than
allowing a third-party pseudocontract that does not apply to us, to
dictate what we may or may not package for our users (who may or may not
use it in a way that benefits Pandora).
2014-08-30 07:24:32 +02:00
..
a2jmidid Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
abcde Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
amarok amarok: minor cleanup 2014-02-13 04:26:41 +02:00
ams-lv2 add ams-lv2: An LV2 port of the internal modules found in Alsa Modular Synth 2014-03-09 22:14:56 +01:00
ardour Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
audacious audacious: find gsettings schemas 2014-04-13 23:30:15 +02:00
audacity Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
aumix Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
beast Fix many package descriptions 2014-08-24 22:31:37 +02:00
bristol Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
calf Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
cantata cantata: update to 1.4.1 2014-08-28 00:09:26 +01:00
caps caps: update from 0.9.7 to 0.9.16 2013-12-04 06:25:58 +02:00
cd-discid Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
cdparanoia * Updated cdparanoia to 10.2. 2011-07-25 13:52:36 +00:00
clementine clementine: version bump 1.2.1 -> 1.2.3 (close #3570) 2014-08-14 20:35:40 +02:00
cmus Fix many package descriptions 2014-08-24 22:31:37 +02:00
csound csound: update from 5.18.02 to 5.19.01 2013-12-18 18:18:23 +02:00
distrho Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
drumkv1 drumkv1: update from 0.4.2 to 0.5.0 2014-08-02 11:29:23 +02:00
easytag easytag: Update to version 2.1.8. 2013-07-10 01:33:33 +02:00
ekho add ekho 5.8.2, a Chinese TTS software 2014-03-14 13:18:19 +08:00
espeak Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
flac flac: Disable tests 2014-07-23 10:48:27 +02:00
fldigi Use name and pname to follow conventions 2014-05-11 18:17:12 -04:00
fluidsynth Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
gigedit nixpkgs-lint: add the platforms meta attr for most of my packages 2014-03-16 12:08:26 +01:00
gmpc libunique: fix build, make the package unique 2013-11-17 22:26:49 +01:00
gmu Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
google-musicmanager googleMusicmanager: add expression 2013-10-30 14:40:08 +02:00
gpodder added platform meta information to gpodder 2014-07-22 09:39:06 +02:00
gtkpod added meta information 2014-07-31 00:49:14 +02:00
guitarix Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
hydrogen Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
id3v2 Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
ingen Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
jack-capture Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
jack-oscrolloscope Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
jack-rack Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
jackmeter Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
jalv Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
ladspa-plugins Remove illegal meta.src attributes 2014-06-05 13:04:18 +02:00
lame lame: update from 3.98.4 to 3.99.5 2013-03-30 18:10:38 +01:00
lash Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
lastfmsubmitd add lastfmsubmitd 2014-01-11 14:52:13 +01:00
lastwatch lastwatch: unsupported on darwin due to inotify 2014-08-10 11:50:43 +02:00
lingot Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
linuxsampler Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
lmms Merge recent master into x-updates 2014-08-02 05:08:07 +02:00
mda-lv2 mda_lv2: update from 1.0.0 to 1.2.2 2014-01-19 14:59:48 +01:00
mhwaveedit Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
mi2ly Add mi2ly MIDI to lilypond converter 2013-07-21 10:46:48 +04:00
mid2key nixpkgs-lint: add the platforms meta attr for most of my packages 2014-03-16 12:08:26 +01:00
mikmod Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
milkytracker Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
minimodem Add minimodem package 2014-05-11 18:44:38 -04:00
mixxx Another attempt to eradicate ensureDir 2014-06-30 14:56:10 +02:00
moc Fix many package descriptions 2014-08-24 22:31:37 +02:00
monkeys-audio Adopt more packages. 2014-01-28 18:11:00 +01:00
mopidy mopdiy: Update from 0.19.0 to 0.19.3 2014-08-13 12:02:34 +02:00
mopidy-moped mopdiy-moped: Update from 0.3.1 to 0.3.3 2014-08-13 12:03:03 +02:00
mopidy-spotify mopidy-spotify: Update from 1.1.3 to 1.2.0 2014-07-28 19:49:41 +02:00
mp3info Fix many package descriptions 2014-08-24 22:31:37 +02:00
mp3splt Add mp3splt 2014-07-07 21:38:14 +03:00
mpc Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
mpc123 Fix many package descriptions 2014-08-24 22:31:37 +02:00
mpg123 mpg123: update from 1.18.1 to 1.19.0 2014-03-14 11:16:56 +01:00
mpg321 Fix many package descriptions 2014-08-24 22:31:37 +02:00
ncmpc ncmpc: updated to version 0.23. 2014-07-14 10:05:41 +02:00
ncmpcpp ncmpcpp: fix build on darwin 2013-07-04 09:12:39 +10:00
normalize make package use mirror:// for gnu, savannah and gnome repositories where possible 2013-07-14 05:23:06 +03:00
opus-tools opus-tools: upgrade to 0.1.8 2013-12-23 10:21:18 +01:00
opusfile opusfile: new package 2013-12-23 10:21:19 +01:00
pamixer Fix many package descriptions 2014-08-24 22:31:37 +02:00
pavucontrol Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
petrifoo Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
pianobar Fix pianobar license to be accurate (MIT) 2014-08-30 07:24:32 +02:00
pianobooster pianobooster: patch to build with gcc4.7, wrap it so it finds libGL.so.1 2014-01-25 17:54:57 +01:00
picard picard: fix libdisc and acoustid fingerprinting issues 2014-08-27 13:38:53 +02:00
praat Merge remote-tracking branch 'origin/master' into staging. 2014-08-04 16:51:47 +02:00
projectm Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
puredata Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
qjackctl Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
qmmp qmmp: update 0.7.5 -> 0.7.6 2014-04-13 19:07:06 +02:00
qsampler nixpkgs-lint: add the platforms meta attr for most of my packages 2014-03-16 12:08:26 +01:00
qsynth Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
qtractor qtractor: update from 0.6.1 to 0.6.2 2014-08-02 11:30:57 +02:00
quodlibet Fix meta.maintainer -> meta.maintainers 2014-04-23 14:26:32 +02:00
rakarrack Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
rubyripper rubyripper: New expression 2013-09-25 13:06:08 +01:00
samplv1 samplv1: update from 0.4.2 to 0.5.0 2014-08-02 11:30:46 +02:00
seq24 Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
setbfree Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
shntool missing semicolon. 2013-03-31 22:09:17 -07:00
snd snd: update to 14.3 2014-01-11 19:40:24 +01:00
sonic-visualiser Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
spotify Fix many package descriptions 2014-08-24 22:31:37 +02:00
streamripper streamripper: Fix wrong attribute path. 2014-01-17 01:15:10 +01:00
swh-lv2 Add the LV2 version of the SWH audio plugins (used for audio production) 2012-10-02 01:00:13 +02:00
synthv1 synthv1: update from 0.4.2 to 0.5.0 2014-08-02 11:30:33 +02:00
transcode transcode: new package 2014-06-27 11:34:29 +02:00
vimpc vimpc: initial install script 2014-07-25 15:32:04 +02:00
vkeybd * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless 2012-01-18 20:16:00 +00:00
vmpk Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
vorbis-tools Turn some license strings into lib.licenses values 2014-07-28 11:31:14 +02:00
xmp add xmp 4.0.7 2014-06-10 12:07:41 +08:00
xsynth-dssi Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00
yoshimi yoshimi: update from 1.2.2 to 1.2.3 2014-08-26 14:57:22 +02:00
zynaddsubfx Revert "Remove obsolete jackaudio version 1." 2014-07-31 12:52:29 +02:00