Language Selection

English French German Italian Portuguese Spanish

Qt and KDE Development

Filed under
Development
KDE
  • New Qt Releases Might Now Be Restricted To Paying Customers For 12 Months

    With an apparent blame on the novel coronavirus, The Qt Company is said to be considering restricting new Qt releases to paying customers for a period of twelve months in an effort to boost their near-term finances.

    Earlier today The Qt Company published a 2020 Qt road-map while following that a Phoronix reader tipped us off to the latest discussions between KDE, the Qt project, and The Qt Company.

    KDE and the open-source Qt folks have been in discussions with The Qt Company especially with the restrictions announced back in January by The Qt Company that LTS point releases might only be available to commercial customers, Qt Accounts being needed for binary package downloads, etc.

  • Qt, Open Source and corona
    Dear KDE community,
    
    the relationship between the KDE community, the Qt project and The Qt Company 
    has always been close and beneficial for all three.
    
    * The Qt Company benefits from having a large and healthy community of 
    contributors, developers and experts around their product.
    * KDE benefits from being able to use Qt and to contribute directly to Qt.
    * The Qt project benefits from having the company as a steward and very large 
    contributor, and having KDE as a large and well-known sub-community.
    
    Last December, I published a document explaining the win-win-win-relationship: 
    http://www.olafsw.de/a-better-qt-because-of-open-source-and-kde/
    
    
    Unfortunately, The Qt Company is currently considering to stop this healthy 
    cooperation.
    
    Fortunately, the KDE Free Qt Foundation exists, which secures the continued 
    existence of Open Source Qt:
    https://kde.org/community/whatiskde/kdefreeqtfoundation.php
    Together with Martin Konold, I represent KDE in the board of the foundation.
    
    
    I will now give you a bit of background information.
    
    During the past two years, there have been negotiations between The Qt Company 
    and the KDE Free Qt Foundation for updating the contract.
    
    Our goals in negotiations:
    * helping the company increase their revenue without harming the Qt project or 
    the KDE community
    * strengthening the protection of the Qt project and of the KDE community
    * avoiding a parting of ways between The Qt Company and the Qt+KDE communities
    
    Concrete areas included in the negotiations are:
    
    * Fixing the incompatibility between paid Qt license terms and using or 
    contributing to Open Source
    (“Prohibited Combination” in https://www.qt.io/terms-conditions/ )
    * Fixing the license incompatibility between the Qt Design Studio (which is 
    only partly Free Software) and our existing contract with the company
    * Making our contract with the company stronger, requiring them to make 
    immediate Free Software releases of Qt (currently, they are allowed to delay 
    by 12 months) to ensure the availability of LTS security fixes for KDE
    * Updating our contract to include Wayland
    * Evaluating contract changes suggested by the company aimed at making the Qt 
    business more profitable, for example the option of selling bundles of Qt with 
    other software, or making integrations with proprietary third-party software 
    possible
    
    
    One setback in the negotiations has been an announcement of The Qt Company in 
    January: https://www.qt.io/blog/qt-offering-changes-2020
    They announced that LTS releases of Qt will only be available for paid license 
    holders. It is still unclear what this implies for contributions to Qt and for 
    the sharing of security fixes between the various parties (including The Qt 
    Company, the many Qt experts contributing, the KDE community, and Linux 
    distributions).
    
    At an in-person meeting in Frankfurt on March 6, we nevertheless managed to 
    lay the groundwork for a possible path forward, continuing with an approach 
    beneficial to all sides.
    
    
    But last week, the company suddenly informed both the KDE e.V. board and the 
    KDE Free QT Foundation that the economic outlook caused by the Corona virus 
    puts more pressure on them to increase short-term revenue. As a result, they 
    are thinking about restricting ALL Qt releases to paid license holders for the 
    first 12 months. They are aware that this would mean the end of contributions 
    via Open Governance in practice.
    
    Obviously, it cannot be in the middle- and long-term health of The Qt Company 
    to separate itself from the very strong Qt + KDE communities.
    
    We hope The Qt Company will reconsider. However, this threat to the Open 
    Source community needs to be anticipated, so that the Qt and KDE communities 
    can prepare themselves.
    
    The Qt Company says that they are willing to reconsider the approach only if 
    we offer them concessions in other areas. I am reminded, however, of the 
    situation half a year ago. We had discussed an approach for contract updates, 
    which they suddenly threw away by restricting LTS releases of Qt instead.
    
    
    What does this mean for the future of Qt and for the future of KDE?
    
    All software changes in Qt will still be available at as Open Source as 
    required by our contract – maybe with a delay of 12 months if the company 
    decides to part ways with the communities.
    
    We will continue to work on a contract update that helps all sides. But even 
    if these negotiations were to be unilaterally stopped by The Qt Company, Qt 
    will stay Open Source, and KDE will be able to use it. I am also absolutely 
    sure that the Qt + KDE communities will continue cooperation on new features, 
    bug fixes, and security fixes, even should The Qt Company decide to forgo the 
    benefits of cooperation.
    
    I invite The Qt Company to stay with us. It will be worthwhile.
    
    
    Best regards,
    
    Olaf
    
    
  • Learn PyQt: Packaging PyQt5 & PySide2 applications for Windows, with PyInstaller

    There is not much fun in creating your own desktop applications if you can't share them with other people — whether than means publishing it commercially, sharing it online or just giving it to someone you know. Sharing your apps allows other people to benefit from your hard work!

    The good news is there are tools available to help you do just that with your Python applications which work well with apps built using Qt5. In this tutorial we'll look at the most popular tool for packaging Python applications: PyInstaller.

    This tutorial is broken down into a series of steps, using PyInstaller to build first simple, and then increasingly complex PyQt5 applications into distributable EXE files on Windows. You can choose to follow it through completely, or skip ahead to the examples that are most relevant to your own project.

  • Virtual KDE PIM Sprint April 2020

    Last weekend would have been the traditional annual KDE PIM meeting in Toulouse, but with travel being largely shut down in Europe we had to do this virtually. That meant missing out on the culinary treats of being in France, but we got a few things done nevertheless.

    [...]

    Nico has been working on this, eventually enabling platform calendar abstraction behind the KCalendarCore API. So the same application code could be using a calendar from Akonadi on a desktop system and the Android calendar on a phone.

    We hopefully managed to sort out the remaining conceptual questions for this (modeling hierarchies, lazy population of expensive calendars, separate classes for the calendar metadata or not).

    Moving PIM modules to KDE Frameworks

    KDAV is nearing completion for transitioning to Frameworks after the 20.04 release (so in May or June). A final review pass resulted in a few more improvements and API cleanups.

    Following KDAV the possible candidates are the KGAPI library, which is already used externally and thus would benefit most, as well as the various email frameworks (MIME, IMAP, SMTP).

More in Tux Machines

digiKam 7.7.0 is released

After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. Read more

Dilution and Misuse of the "Linux" Brand

Samsung, Red Hat to Work on Linux Drivers for Future Tech

The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. Read more

today's howtos

  • How to install go1.19beta on Ubuntu 22.04 – NextGenTips

    In this tutorial, we are going to explore how to install go on Ubuntu 22.04 Golang is an open-source programming language that is easy to learn and use. It is built-in concurrency and has a robust standard library. It is reliable, builds fast, and efficient software that scales fast. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel-type systems enable flexible and modular program constructions. Go compiles quickly to machine code and has the convenience of garbage collection and the power of run-time reflection. In this guide, we are going to learn how to install golang 1.19beta on Ubuntu 22.04. Go 1.19beta1 is not yet released. There is so much work in progress with all the documentation.

  • molecule test: failed to connect to bus in systemd container - openQA bites

    Ansible Molecule is a project to help you test your ansible roles. I’m using molecule for automatically testing the ansible roles of geekoops.

  • How To Install MongoDB on AlmaLinux 9 - idroot

    In this tutorial, we will show you how to install MongoDB on AlmaLinux 9. For those of you who didn’t know, MongoDB is a high-performance, highly scalable document-oriented NoSQL database. Unlike in SQL databases where data is stored in rows and columns inside tables, in MongoDB, data is structured in JSON-like format inside records which are referred to as documents. The open-source attribute of MongoDB as a database software makes it an ideal candidate for almost any database-related project. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of the MongoDB NoSQL database on AlmaLinux 9. You can follow the same instructions for CentOS and Rocky Linux.

  • An introduction (and how-to) to Plugin Loader for the Steam Deck. - Invidious
  • Self-host a Ghost Blog With Traefik

    Ghost is a very popular open-source content management system. Started as an alternative to WordPress and it went on to become an alternative to Substack by focusing on membership and newsletter. The creators of Ghost offer managed Pro hosting but it may not fit everyone's budget. Alternatively, you can self-host it on your own cloud servers. On Linux handbook, we already have a guide on deploying Ghost with Docker in a reverse proxy setup. Instead of Ngnix reverse proxy, you can also use another software called Traefik with Docker. It is a popular open-source cloud-native application proxy, API Gateway, Edge-router, and more. I use Traefik to secure my websites using an SSL certificate obtained from Let's Encrypt. Once deployed, Traefik can automatically manage your certificates and their renewals. In this tutorial, I'll share the necessary steps for deploying a Ghost blog with Docker and Traefik.