Re: Are Web-API packages need to be in the 'main' repo ?
On Monday, December 05, 2011 10:51 PM, "Andrei Popescu"
> On Lu, 05 dec 11, 21:55:28, Alexey Eromenko wrote:
> > "The contrib archive area contains supplemental packages intended to
> > work with the Debian distribution, but which require software
> > outside of the distribution to either build or function."
> > This definition does not say 'non-free web services' - but points in
> > such direction.
> Expanding more on the pidgin example, as far as I can tell pidgin has
> one single library (libpurple) for all protocols.
Pragmatically, I'd give Pidgin a pass since it has substantial
free software use, although with a wishlist to split out the
modules relying upon proprietary protocols. As you mention,
having software which does free and non-free equivalents
side-by-side has a particular value.
> Also, you don't specify what you understand by "non-free web
> services". Remember that both Google and Facebook use XMPP for chat (a
> free protocol) and they might be using 100% free software on their
I picture client and server programs with a protocol between
them as partial works; they exist in an intermediate state
where they cannot be operated until they are linked together.
Therefore, if you have a client that lacks a server, or a
server that lacks a client, it makes no sense to talk of
them as free software. In particular:
1. Since it's not operational with only what was provided,
the user doesn't have the freedom to run the program,
for any purpose (freedom #0)
2. Since the user only gets half of the system, the user doesn't
have the freedom to study how it works (freedom #1)
3. If you have only the client or server, the user doesn't
have the freedom to share the software (freedom #2)
4. Without source code access to the other half, the user
has no way to make or distribute modifications (freedom #3)
In my opinion, the only way to evaluate a client or server
application is if you can construct a full copy of the
system (requiring both parts) and demonstrate that it
operates as expected by the developer.
Certainly, once demonstrated in isolation that you're
providing "free" software either part (the client or
the server) may be bound to proprietary software as
the user sees fit. This is their right.
Concretely, I think if the protocol used has a free software
implementation, and if the client has some way to choose
a service, then it is absolutely clean (you could run a
Jabber/IRC server on your Free Island).
If the protocol only has a proprietary implementation,
then even if the client code is under a free license,
it still isn't a completed work since it depends upon
proprietary software for its operation. Hence, it
belongs in contrib.
> Please don't get me wrong, I would love to able to use my system
> without any package from contrib or non-free, but free software is
> just not there *yet*.
Well, this is why Debian has contrib and non-free, yes?
> Free software is mostly on par with non-free software except a few
> special cases, but it is still not enough. It has to be so much
> better that users will *massively* choose free software, despite
> the marketing and the migration costs and whatnot.
I understand that my opinion here isn't shared widely, but I
think it has to go much further than this. Users have to be
given a hard choice: there needs to be free software which is
exclusive to free platforms. Otherwise we're just competing
with one hand tied behind our back.
> This is where resources should go, not to alienating users by
> making it even more difficult to switch than it already is.
I think clients which exclusively depends upon twitter or
facebook are rather clear, while they may be licensed under
a Free Software license, they are chained quite profoundly
to a proprietary web service.
The free/contrib distinction makes people scratch their heads.
"Why isn't this Free?" It's an important lever. Some people
just don't think of Twitter or Facebook as software at all
and will happily chain their work to it. I think the awareness
of this is quite important.
User interfaces and package managers could choose to display
contrib and non-free works with a special icon or something
rather than completely ignoring their existence?