Per-app MSI-based installers
John Layt
jlayt at kde.org
Wed Jul 2 12:53:57 UTC 2014
On 2 July 2014 11:17, Aleix Pol <aleixpol at kde.org> wrote:
> On Wed, Jul 2, 2014 at 12:10 PM, Jos Poortvliet <jospoortvliet at gmail.com>
>> > Would it make sense then to have a Muon Discover version targeting
>> > windows?
>> > The bad part is that by installing it we'd be pulling half
>> > KDE+Frameworks,
>> > but from there it would be quite consistent.
>>
>> If we want to bring our view of application management to windows (app
>> stores) we should do it building on what is there: have our apps in
>> Microsoft's app store. Not create ANOTHER app store... I think that that
>> is
>> just complicated.
>>
>> The MSI solution seems far better and probably was a major thing that has
>> been holding back KDE software adoption on Windows.
>>
>> Just my few cents...
>>
>> > Aleix
>
>
> I agree, I was just thinking out loud I guess.
>
> So is it feasible to get those packages in the Windows Store?
[Warning, incoherent ramblings ahead :-)]
There are problems with using the Windows App store. For a start, it
only ships on Windows 8 and later, thus ignoring 80-90% of the
potential user base. I don't believe the Windows app store has the
concept of library or package dependencies (nor does Apple), you have
to bundle everything in your app installer, have it download stuff in
the background, or hope that people read the instructions to install
something else first. It also puts us at the mercy of Microsoft's
policies, which while apparently looser than Apples with regards open
source (they did plenty of PR early on that they would allow FOSS
libraries) are not exactly transparent or reliable. It is an open
area for debate whether policies enforced in an app stores terms and
conditions are a violation of the GPL (the FSF think Apple's are). It
is especially a danger where you are shipping a library written by
someone else who might interpret things differently and issue a
takedown notice, which is what led to Apple effectively banning GPL
from their store. There's also the argument over who is actually
doing the distribution and so is liable to provide the code. The
Microsoft agreement appears to state that the FOSS licence has primacy
[1] and Microsoft is not the distributor, but IANAL and we would need
to get the lawyers to review the agreement, and then monitor it for
changes on an ongoing basis (how much do we trust them now?). We face
this same legal and dependency issues across all app stores or
non-Linux platforms, Apple and Android and Blackberry too.
Microsoft did announce a while back a project to build a package
manager for Windows, but I haven't been following where that is up to.
I can't even remember what it was called. A quick Google suggests
NuGet/CoApp is the result? There are also other FOSS attempts to add
package management to Windows, but we should really all work together
to get one single functional and supported way of doing this for
everyone, so a Microsoft supported solution is preferable albeit with
the usual caveats about relying on anything from Microsoft. Either
way, having a method to resolve dependencies between binaries is only
half the issue, you still need someone to build and supply those
binaries and I don't see Microsoft doing that any time soon. That's
what KDE for Windows / emerge does already, and CoApp appears to do
for NuGet.
Even if we have standalone app installers in the Windows App Store
that do some downloading of dependencies in the background, and even
if we have a standard way of resolving those dependencies on Windows,
and even if we have somewhere to download those Windows binaries from,
we will still need to do the exact same thing again on Android and Mac
seeing as neither of them offer native package management. On Mac
we'll also still need some kind of installer front-end seeing as we're
locked out of the Apple app store and Macports/Homebrew/Fink are not a
viable distribution option for normal users (they keep promising a
usable gui installer but have never delivered, and most KDE apps are
built form source not distributed as binaries). We could write
separate ways to do this on every platform, or we could figure out a
shared way of doing it across all platforms. Each platform has it's
own ways of generating the binaries, but if we have a single way of
distributing those binaries, resolving their dependencies, and
presenting the available apps to the user, that has to be less work
and better for getting KDE apps to more users, right? And if we
opened that up to all FOSS apps to use as a single FOSS Store...
Well, dreams are free I guess.
My 2 cents anyway.
John.
[1] A quick grep through
http://msdn.microsoft.com/en-GB/library/windows/apps/hh694058.aspx for
FOSS, but IANAL
More information about the Kde-windows
mailing list