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

today's howtos

  • Font Management On Linux - YouTube

    Many new-to-Linux users have questions about installing fonts and previewing fonts on Linux. While there are some nice GUI applications that help with these tasks, you don't actually need to install any extra programs to manage your fonts.

  • Dmenu Is Great So I'll Keep Simping For It - YouTube

    At this point the only Suckless tool I actively use is Dmenu, it's an absolute great launcher especially if you're the kind of person who doesn't really care about having a super fancy looking app, Dmenu is functional and that's all it needs to be.

  • Remove ^M (CTRL-M) Characters from a File in Linux - Putorius

    Operating systems have different ways to handle a newline in their text editors. For example Windows uses a specific carriage return (CR) which is depicted as ^M on Linux, followed by a line feed (LF) to indicate a newline. Linux and UNIX on the other hand use only the line feed to denote the end of a line. This often causes issues when transferring (or even copy and pasting) a file from Windows to Linux. It is hard to spot, and often leaves people scratching their head and wondering why their configuration file is not working.

  • How to install fonts in Gimp on a Chromebook

    Today we are looking at how to install fonts in Gimp on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below.

  • How to Install Rocket.Chat on CentOS 8

    Rocket.Chat is a free and open-source chat and messaging application built with Meteor. It is an alternative to Slack and allows you to chat with other members, make video and audio calls, create channels and private groups, share files, and folders and many more. It is self-hosted and helps your team to communicate and share ideas on desktop and mobile devices.

  • How to Check Ubuntu Version with Command or Script

    The lsb-release is the standard package for reporting the version on Ubuntu systems. Which is basically written in Python programming language. The lsb-release package provides a command lsb_release used to check Ubuntu version and codename on command line. In this tutorial, you will learn various options to lsb_release command on Ubuntu system.

  • Updated Docker pages

Jetson Xavier system bundles LIPSedge 3D vision camera

LIPS’ IP67-protected “LIPSedge AE400” 3D vision industrial camera is now available with Aaeon’s Linux-driven, AGX Xavier based Boxer-8240AI computer. The RK3399-based camera is built around an Intel RealSense D415 and offers GbE with PoE. Aaeon announced that its Boxer-8240AI edge AI system based on Nvidia’s high-end Jetson AGX Xavier module has received Nvidia Isaac Certification for a bundle that combines the compact, embedded system with LIPS Corp’s LIPSedge AE400 Industrial 3D Camera. The camera is billed as an industrial version of the Intel RealSense dual-lens stereovision camera. Applications for the Aaeon/LIPS offering include autonomous guided vehicles (AGV), vision guided robots, and smart factory systems. Read more

Release of t2 GNU/Linux 20.10

  • T2 20.10 tagged and shipping!

    A decade in the making, T2 version 20.10 was finally tagged and shipped! Grab your favorite release ISO, e.g. highly optimized AMD64, PPC64 for your PS3, MIPS64 for your Sgi Octane or any other of our release builds for playing along at home!

  • t2 Linux 20.10 released

    The 20.10 release of the t2 Linux distribution is available.

Canonical/Ubuntu: FOSDEM 2021 Community DevRoom, Snap Store and Ubuntu Technical Board Call For Nominations

  • Laura Czajkowski: FOSDEM Community Devroom 2021 CFP

    The twenty-first edition of FOSDEM will take place 6-7 February, 2021 – online, and we’re happy to announce that there will be a virtual Community DevRoom as part of the event.

  • When you need the numbers just right – benchmark and profiling applications in the Snap Store | Ubuntu

    The world of software is a vast and complex one, often too difficult to easily assess by human intuition alone. Which is why detailed and accurate measurements of software behavior are essential in helping us understand and gauge how well our applications perform. The Snap Store has a fair share of productivity tools and utilities, including a wide range of benchmarking and profiling tools. These are designed to help developers, system administrators and hardcore enthusiasts get a precise sense of their software, whether as part of research and design or for troubleshooting ongoing problems in production environments. Let’s have a little tour.

  • Ubuntu Fridge | Ubuntu Technical Board Call For Nominations

    The Ubuntu Technical Board is responsible for the technical direction of Ubuntu. It makes decisions on package selection, packaging policy, installation systems and processes, kernel, X server, display management, library versions, and dependencies. The board works with relevant teams to establish a consensus on the right path to take, especially where diverse elements of Ubuntu cannot find consensus on shared components. The current Technical Board is expiring at the end of the year, and the Community Council would like to confirm a new Technical Board, consisting of five people, who will serve for two years.