Silica components license and source code

This question is appearing again and again on community meetings, mailing list and other channels. For example on Together portal in year 2014: https://together.jolla.com/question/52712/licensing-issues-with-sailfishsilica-qt5 . But I was not able to find satisfying reply from Jolla, so I have to ask again:

  • What is license of Silica components? Package details says “Proprietary”, majority of components qml files contains BSD license, headers from sailfishsilica-qt5-devel package have LGPL 2.1 license…
  • May Jolla publish source code of native part of UI components? It would be great to have possibility to run Silica applications on desktop Linux, it would boost development of application UI. Silica components may not fit to other platforms, but basically it would allow to use Silica applications on other mobile platforms (Plasma Mobile, Ubports…).

Why I am asking again?

As I am licensing my application under terms of GPL license, by loading proprietary libsailfishsilicaplugin.so at runtime, I am violating terms of the license, right? It may be solved by relicensing to LGPL or adding some linking exception, but still, I would like to clarify if I have problem or not.

To ability to use Silica components on desktop, did someone investigated what functionality is provided by native code in libsailfishsilicaplugin.so? How hard would be to write it again with some OSS license? Or should I focus to write alternative UI in Kirigami?

15 Likes

Thank you for asking this question again! It is important to show there’s a long-standing interest in the topic. Can you bring it to the next community meeting?

The question is important for everyone writing apps for Sailfish/Silica. It would make it much more appealing to invest a lot of work (free time) if the apps could be used on other platforms. It would also make Sailfish more “sustainable” by making the ecosystem (and thus everyone’s free effort) a bit less dependent on business decisions.

5 Likes

@karry, great questions! While I cannot comment on Silica license, few comments regarding Kirigami/UT.

I think it makes more sense to use native platform UI and not try to push Silica into Plasma mobile or Ubuntu Touch. For Pure Maps and OSM Scout Server, I wrote QML wrappers that allow me to support multiple platforms with the same QML code in the app. It is not something that would perfectly fit you immediately, but could be a reasonable starting point. @piggz is porting his app to it, so maybe he can chip in and tell his experience. in particular, what are the issues that he has seen.

When comparing to the use of Silica on other platforms, switch to such wrapper takes time of the developer. I just feel that the result is worth it.

9 Likes

My work to port Amazfish is currently here in another branch


Its mostly gone ok. No show-stopping issues yet, just minor fights with build systems. The real issue will be getting builds for the other platforms. Atleast if i make sure it builds on desktop and sailfish, I can be sure most of the work is done, im not sure I want to do the actual packaging for other distros like UT or manjaro/plasma just yet. Ideally, id find a dev on those platforms who has a device that would benefit from my app and get them to contribute builds.
4 Likes

One of the biggest issues with Sailfish adoption is the licensing imo. I have a lot of friends, that really like the UI, but won’t use it long term because of the license issues. If at least the whole OS was open (without the proprietary plugins like Aliendalvik and Exchange), that would alleviate those concerns and make Sailfish an actual contender on platforms like the PinePhone.

1 Like

Those people want an ideology not a functional nice looking phone. They are like fundamentalist religious groups.

2 Likes

While I do somewhat agree, just opening up silica would basically give them, what they want, I think. It would also alleviate a lot of licensing issues when patching silica, maybe make porting easier, etc. For a user it mostly has benefits, for companies not so much.

You can patch the UI. Nothing stops you practically. The patch manager exists and does exactly that. As for porting as far as i understand its at a layer much lower than the UI. There is also an open UI that will work on top of SFOS if you don’t want the closed parts.
Even if you want to contribute to closed parts you can contact jolla and sign an NDA. People have done that.
So it all comes down to people finding excuses. As i said they don’t want a phone they want an ideology. And its totally ok but no reason for people to put in the work and solve the issues you have.

4 Likes

@ApB Please take this kind of negativity elsewhere. Your comment does nothing constructive, it only insults people who have a different point of view than you.

Many people, including myself, have done and do that. It still is not in the same spirit as contributing changes back upstream, making sure they are well integrated, giving them back to the benefit of a wider (non-tech-savvy) audience, etc. It’s just “two pairs of shoes”, two different things.

Good hardware integration still needs a good UI…

I think you might understand that working in one’s free time for free for a company that profits off of it in the end is something very different than doing the same knowing a) it will benefit not only a few people / a company, and b) it will not die when some company finally decides to go out of business. These are only two of many reasons, but I think these are the most important ones when arguing from an “economic” view.

There’s Silica: a pretty, stable, developed UI that is partly open and partly lives in a legal vacuum. Then there’s Glacier: a (still) unpretty, unstable, still underdeveloped UI that tries to reinvent the wheel because unanswered legal questions. So you are suggesting people should invest thousands of hours into re-building something, when solving the legal questions around Silica basically comes down to “yes - we open it up” or “no - we won’t open it up” from Jolla?

Plus you are basically saying that everyone who has developed open source apps for Sailfish (which means: almost everyone who has developed apps for Sailfish) should not be taken serious. Is this what you mean?

Indeed, your chain or arguments comes down to finding excuses for a) insulting behaviour, and b) making it harder for people to build software you use. Please stop that.

This thread is intended for people who are a) willing to work on Silica, or b) willing to work on Sailfish, or c) building apps for Sailfish, or d) investing in any other kind or way their free time and effort for the benefit of others (including your benefit). In this thread, we collect constructive arguments for clearing the open legal questions around Silica and developing apps for Sailfish. It is up to Jolla to argue against that, if they want to do so - but, of course, hopefully they will agree with us.

Edit: I will not participate in a further discussion about “those people”, “fundamentalists”, or any other derogatory buzzword. This is wasting time and effort of people who care about their work, and it is also off-topic in this thread.

4 Likes

For a user, it only has benefits. A wider audience, a bigger community, more developers, more development, increased security, increased stability, increased durability and safety against e.g. business decisions to stop support, etc. etc.

No, also for companies there’s mostly benefits. All the same things I said above also apply to a company. By making things open source / Free Software, companies are able to move parts of the development to a community, which will be growing if there is a company interested in building a good product, thus being a safety net against group dynamics that can endanger open source projects (i.e. core developers losing interest). The resources saved in development/… can be moved to providing other services.

There are many successful companies based on open source projects. The Qt company, OpenSUSE, Redhat, Jolla, we could include Mozilla, Signal, etc. Just to name a few. There are also many successful open source projects without a company. KDE, GNOME, Thunderbird, LibreOffice, Tor, … Quite a few programs (closed or open) you use daily are probably in one way or the other profiting from open source technology (like Apple/CUPS with your printer).

4 Likes

Yes, GNU movement (free software in general) is about ideology. Many developers invest their free time (or companies their money) to develop amazing things and because they believe to ideology of free software they chosen some free license to their projects. For example restrictive GPL. And other developers and companies have to respect that. It is forbidden to mix GPL code and proprietary code…

One practical example - I would like to implement chart with route elevation profile in OSM Scout. There is nice Charts Qt module that would allow that. It should be possible to build it for Sailfish, because it requires just Qt 5.4. But I cannot use that module together with Silica components, because Qt Charts is licensed under GPLv3.

You as a user maybe don’t care about license of UI components on your phone, but believe me, it has real impact to applications that you are using.

6 Likes

While I do agree, I was referring to the business customers of Jolla and their management. They cited some reasons for why the components should be closed. While I disagree with them, it seems to help Jolla sell Sailfish and I wanted their side to be at least represented. I still think that in the long term open-source does benefit companies as well. Heck, my original Jolla box has source code printed on it! But I’m not naive enough to say Jolla has no reasons to keep these components closed.

1 Like

@ichthyosaurus Uhhm, not sure if you’re not overinterpreting @ApBs post.

Did I miss some context here? Where do you draw this conclusion from?

it’s off-topic, fair enough. And I’m not even involved (well I wasn’t ). But hey man, what’s the reason for lashing out like this? You’re basically ‘storming off’ before the other party had a chance to respond.
I don’t think you’re wrong in your post above about open source, to the contrary. But assuming intentions instead of learning them is as bad for discussion here as cynicism

3 Likes

As there is no reply from Jolla yet, I will bring this topic to next community meeting: Community meeting on IRC 10th Dec 2020

3 Likes

@karry: just in case ask for longer timeslot. 15 min was frequently recommended minimum.

2 Likes

Agreed, 15min is a bit low for this topic, since it sparks a lot of discussion usually.

It is quite disappointing Jolla finally decided to take this stance.

From the minutes (https://irclogs.sailfishos.org/meetings/sailfishos-meeting/2020/sailfishos-meeting.2020-12-17-08.00.html):

From the GNU FAQ:

It is possible to write free programs that only run on Windows, but it is not a good idea. These programs would be “trapped” by Windows, and therefore contribute zero to the Free World.

What @rinigus and @piggz mentioned above is probably the best way out, but I’m afraid this means too much work for most small one-person projects - i.e. probably almost all Sailfish apps. :frowning:

3 Likes

Its really not too much work … just a copy of the components, and some magic in the pro/spec files and you can run on sailfish and kirigami. Its one of those things thats probably easier if using from the start … porting my app i admit was a pain, but much of the api is the same.

1 Like

That sounds really great but it looks intimidating. I’ll have to study your code when I have more free time… :slight_smile:

This really sounds like a typical case for which the *GPL*'s System Library Exception was made for.
Its scope is quite broad!

Thus it is explicitly allowed to let a GPL’ed software (like OSM Scout) depend on both proprietary system libraries and *GPL*ed libraries.