Language Selection

English French German Italian Portuguese Spanish

Latest in Planet Python: Open Source, SaaS and Monetization; Some Python Guides

Filed under
Development
  • Open Source, SaaS and Monetization

    When you're reading this blog post Sentry which I have been working on for the last few years has undergone a license change. Making money with Open Source has always been a complex topic and over the years my own ideas of how this should be done have become less and less clear. The following text is an attempt to summarize my thoughts on it an to put some more clarification on how we ended up picking the BSL license for Sentry.

    [...]

    Open Source is pretty clear cut: it does not discriminate. If you get the source, you can do with it what you want (within the terms of the license) and no matter who you are (within the terms of the license). However as Open Source is defined — and also how I see it — Open Source comes with no strings attached. The moment we restrict what you can do with it — like not compete — it becomes something else.

    The license of choice is the BSL. We looked at many things and the one we can to is the idea of putting a form of natural delay into our releases and the BSL does that. We make sure that if time passes all we have, becomes Open Source again but until that point it's almost Open Source but with strings attached. This means for as long as we innovate there is some natural disadvantage for someone competing with the core product while still ensuring that our product stays around and healthy in the Open Source space.

    If enough time passes everything becomes available again under the Apache 2 license.

    This ensures that no matter what happens to Sentry the company or product, it will always be there for the Open Source community. Worst case, it just requires some time.

    I'm personally really happy with the BSL. I cannot guarantee that after years no better ideas came around but this is the closest I have seen that I feel very satisfied with where I can say that I stand behind it.

  • How to Handle Coroutines with asyncio in Python

    When a program becomes very long and complex, it is convenient to divide it into subroutines, each of which implements a specific task. However, subroutines cannot be executed independently, but only at the request of the main program, which is responsible for coordinating the use of subroutines.

  • When to Use a List Comprehension in Python

    Python is famous for allowing you to write code that’s elegant, easy to write, and almost as easy to read as plain English. One of the language’s most distinctive features is the list comprehension, which you can use to create powerful functionality within a single line of code. However, many developers struggle to fully leverage the more advanced features of a list comprehension in Python. Some programmers even use them too much, which can lead to code that’s less efficient and harder to read.

    By the end of this tutorial, you’ll understand the full power of Python list comprehensions and how to use their features comfortably. You’ll also gain an understanding of the trade-offs that come with using them so that you can determine when other approaches are more preferable.

LWN: The return of Python dictionary "addition"

  • The return of Python dictionary "addition"

    Back in March, we looked at a discussion and Python Enhancement Proposal (PEP) for a new dictionary "addition" operator for Python. The discussion back then was lively and voluminous, but the PEP needed some updates and enhancements in order to proceed. That work has now been done and a post about the revised PEP to the python-ideas mailing list has set off another mega-thread.

    PEP 584 ("Add + and += operators to the built-in dict class") has gotten a fair amount bigger, even though it has lost the idea of dictionary "subtraction", which never gained significant backing the last time. It also has two authors now, with Brandt Bucher joining Steven D'Aprano, who wrote the original PEP. The basic idea is fairly straightforward; two dictionaries can be joined using the "+" operator or one dictionary can be updated in place with another's contents using "+=".

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

More in Tux Machines

Games: Baba, Dicey Dungeons, Factorio and Enabling GameMode

  • Excellent rule-changing puzzle game Baba Is You is getting an official level editor

    Baba Is You, the truly excellent puzzle game where you have to break the rules of each level to beat them is getting a big update soon. See Also: previous thoughts on it here. How do you break these rules? Well, on each level there's logic blocks you can push around to change everything. Turn yourself into a rock, a jellyfish, make it so touching a wall wins instead of a flag you can't access and all kinds of really crazy things it becomes quite hilarious.

  • Dicey Dungeons outsold Terry Cavanagh's last two Steam games in the first month

    Terry Cavanagh, the indie developer behind VVVVVV, Super Hexagon and the latest Dicey Dungeons has a new blog post out talking about how well Dicey Dungeons has done and what's to come next. Leading up to the release, Cavanagh was doing a blog post each day for seven days. This latest post from yesterday then, is long overdue considering Dicey Dungeons launched in August.

  • Factorio is leaving Early Access in September next year

    As a result of the team behind Factorio feeling like it's going on for too long, they've now set a proper release date. In their latest Friday Facts update, they mentioned how their "when it's done" approach has served them well to create a high-quality game "but if we continued this way, we would be doing it basically forever". Part of the issue is that they want to work on new features and add content, instead of constant polishing. So they're setting a date publicly now "so we have to stick with it". With that in mind, it's going to leave Early Access on September 25, 2020. Development is not ending once they hit the big 1.0, they also don't want to say it's 100% finished either. Like a lot of games, as long as the money keeps coming in they will likely keep adding to it.

  • Enabling GameMode on Linux for best gaming performance

Red Hat Enterprise Linux and CentOS Now Patched Against Latest Intel CPU Flaws

After responding to the latest security vulnerabilities affecting Intel CPU microarchitectures, Red Hat has released new Linux kernel security updates for Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7 operating systems to address the well-known ZombieLoad v2 flaw and other issues. The CentOS community also ported the updates for their CentOS Linux 6 and CentOS Linux 7 systems. The security vulnerabilities patched in this new Linux kernel security update are Machine Check Error on Page Size Change (IFU) (CVE-2018-12207), TSX Transaction Asynchronous Abort (TAA) (CVE-2019-11135), Intel GPU Denial Of Service while accessing MMIO in lower power state (CVE-2019-0154), and Intel GPU blitter manipulation that allows for arbitrary kernel memory write (CVE-2019-0155). Read more

Android Leftovers

Firefox vs. Chrome Browser Performance On Intel Ice Lake + Power/Memory Usage Tests

Using Firefox 70 (including WebRender) and Google Chrome 78, here are our latest round of Linux web browser benchmarks tested on the Dell XPS Ice Lake laptop. Making this round of Linux browser benchmarking more interesting is also including power consumption and RAM usage metrics for the different browser benchmarks. For those wondering about whether Firefox or Chrome makes the most sense for Linux laptops, these benchmarks from the Dell XPS with Intel Core i7-1065G7 will hopefully be useful. Ubuntu 19.10 with the Linux 5.3 kernel was running on this Intel Ice Lake laptop while using the official builds of Mozilla Firefox 70.0 (both out of the box and with WebRender) and Google Chrome 78. The AC system power consumption was monitored on battery and the total RAM usage was being monitored throughout testing as well. All of the benchmarking was carried out using the Phoronix Test Suite. Read more