Language Selection

English French German Italian Portuguese Spanish

Licensing/Legal Facets of FOSS

Filed under
OSS
Legal
  • 5 Best Drag and Drop Builders For WordPress of 2019 [Ed: And proprietary software with "free bait".]

    Depends on your requirements, really. One thing that you need to keep in mind is that the prices are different for different packages, so money is a factor you need to consider before making the decision. For example, Elementor could as well have been the best for beginners had their license not been so restrictive. Also, their Pro version is not GPL.

    Other such drawbacks for other builders make Beaver Builder and Divi clearly the most preferred WordPress page builders. Visual Composer comes very close to these two. So, while there may be a bit of a pocket pinch, you can go for any of these if you want to be on safe hands. Also, while the recent Gutenberg editor holds a lot of promise, it is still going to be a while before it comes anywhere close to any of these powerful builders.

  • Upstream First

    This talk was mostly aimed at managers of engineering teams and projects with fairly little experience in shipping open source, and much less experience in shipping open source through upstream cross vendor projects like the kernel. It goes through all the usual failings and missteps and explains why an upstream first strategy is the right one, but with a twist: Instead of technical reasons, it’s all based on economical considerations of why open source is succeeding. Fundamentally it’s not about the better software, or the cheaper prize, or that the software freedoms are a good thing worth supporting.

    Instead open source is eating the world because it enables a much more competitive software market. And all the best practices around open development are just to enable that highly competitive market. Instead of arguing that open source has open development and strongly favours public discussions because that results in better collaboration and better software we put on the economic lens, and private discussions become insider trading and collusions. And that’s just not considered cool in a competitive market. Similar arguments can be made with everything else going on in open source projects.

  • The sustainability of open source for the long term

    The problem of "sustainability" for open-source software is a common topic of conversation in our community these days. We covered a talk by Bradley Kuhn on sustainability a month ago. Another longtime community member, Luis Villa, gave his take on the problem of making open-source projects sustainable at the 2019 Legal and Licensing Workshop (LLW) in Barcelona. Villa is one of the co-founders of Tidelift, which is a company dedicated to helping close the gap so that the maintainers of open-source projects get paid in order to continue their work.

  • On technological liberty

    In his keynote at the 2019 Legal and Licensing Workshop (LLW), longtime workshop participant Andrew Wilson looked at the past, but he went much further back than, say, the history of free software—or even computers. His talk looked at technological liberty in the context of classical liberal philosophic thinking. He mapped some of that thinking to the world of free and open-source software (FOSS) and to some other areas where our liberties are under attack.

    He began by showing a video of the band "Tears for Fears" playing their 1985 hit song "Everybody wants to rule the world", though audio problems made it impossible to actually hear the song; calls for Wilson to sing it himself were shot down, perhaps sadly, though he and the audience did give the chorus a whirl. In 1985, the band members were young and so was open source, he said. But there were new digital synthesizers available, with an open standard (MIDI) that allowed these instruments to talk to one another. It freed musicians from the need for expensive studio time, since they could write and polish their music anywhere: a great example of technological freedom.

More in Tux Machines

Mozilla: Firefox for Android Nightly, prefers-contrast and more

  • New Extensions in Firefox for Android Nightly (Previously Firefox Preview)

    Firefox for Android Nightly (formerly known as Firefox Preview) is a sneak peek of the new Firefox for Android experience. The browser is being rebuilt based on GeckoView, an embeddable component for Android, and we are continuing to gradually roll out extension support. Including the add-ons from our last announcement, there are currently nine Recommended Extensions available to users.

  • Adding prefers-contrast to Firefox

    In this article, we’ll walk through the design and implementation of the prefers-contrast media query in Firefox. We’ll start by defining high contrast mode, then we’ll cover the importance of prefers-contrast. Finally, we’ll walk through the media query implementation in Firefox. By the end, you’ll have a greater understanding of how media queries work in Firefox, and why the prefers-contrast query is important and exciting. When we talk about the contrast of a page we’re assessing how the web author’s color choices impact readability. For visitors with low vision web pages with low or insufficient contrast can be hard to use. The lack of distinction between text and its background can cause them to “bleed” together.

  • Browser Wish List - Tabs Time Machine

    It would be interesting to see the exact distribution, because there is a cohort with a very high number of tabs. I have usually in between 300 and 500 tabs opened. And sometimes I'm cleaning up everything. But after an internal discussion at Mozilla, I realized some people had even more toward a couple of thousand tabs opened at once. While we are not the sheer majority, we are definitely a group of people probably working with browsers intensively and with specific needs that the browsers currently do not address. Also we have to be careful with these stats which are auto-selecting group of people. If there's nothing to manage a high number of tabs, it is then likely that there will not be a lot of people ready to painstakly manage a high number of tabs.

Python Programming

  • Flask project setup: TDD, Docker, Postgres and more - Part 3

    In this series of posts I explore the development of a Flask project with a setup that is built with efficiency and tidiness in mind, using TDD, Docker and Postgres.

  • Stop working so hard on paths. Get started with pathlib!

    In version 3.4, python shipped with a new module in the standard library, pathlib . At the time of its release, I remember hearing some fanfare around it, but I didn’t quite understand the point of it. I had only recently stopped adding strings together to create paths to the files and folders I needed to work with, in favor of using the os and os.path modules. It took me a little while to experiment with it and plumb the documentation for useful bits. Since then, I’ve learned a lot about the pathlib module, and as I have said before, it is my favorite module in the standard library. While that’s the case, most people I talk to about it are working to hard to access files and folders with python. Many have either not heard about it, or they still don’t understand it.

  • Paolo Amoroso: Repl.it Redesigned the Mobile Experience

    On smartphones, now the focused REPL pane takes up most of the screen. The redesign takes advantage of native mobile design patterns and lets you switch to a different pane from the bottom navigation bar. There are panes for the code editor, the console, and the output.

  • PSF GSoC students blogs: Weekly Check-in #6
  • PSF GSoC students blogs: Weekly Blog Post | Gsoc'2020 | #6

Tauon Music Box – Modern Streamlined Music Player for Linux Desktop

Touan Music Box is a modern, comfortable and streamlined music player for the playback of your music collection. The software is written in Python, and uses GStreamer or optionally BASS Audio Library for playback. Read more

Programming Leftovers

  • DevOps Tools: Why We Don't Need More CI/CD Suites
  • How to install the Go language on Linux

    Go is one programming language that's on the rise. In fact, according to Popularity of Programming Languages, Go is at No. 14 and steadily climbing up the ranks. Go is used specifically for distributed systems and highly-scalable network servers and has replaced C++ and Java in Google's software stack. Chances are, you'll be using Go sometime soon. For those who develop on Linux, you can't just install it from the standard repositories. So how do you install this popular programming language on the open source operating system? Fear not, I'm going to show you.

  • What if? Revision control systems did not have merge

    A fun design exercise is to take an established system or process and introduce some major change into it, such as adding a completely new constraint. Then take this new state of things, run with it and see what happens. In this case let's see how one might design a revision control system where merging is prohibited.

  • What you need to know about hash functions

    There is a tool in the security practitioner's repertoire that's helpful for everyone to understand, regardless of what they do with computers: cryptographic hash functions. That may sound mysterious, technical, and maybe even boring, but I have a concise explanation of what hashes are and why they matter to you. A cryptographic hash function, such as SHA-256 or MD5, takes as input a set of binary data (typically as bytes) and gives output that is hopefully unique for each set of possible inputs. The length of the output—"the hash"—for any particular hash function is typically the same for any pattern of inputs (for SHA-256, it is 32 bytes or 256 bits—the clue's in the name). The important thing is this: It should be computationally implausible (cryptographers hate the word impossible) to work backward from the output hash to the input. This is why they are sometimes referred to as one-way hash functions. But what are hash functions used for? And why is the property of being unique so important?

  • GStreamer 1.17.2 unstable development release

    The GStreamer team is pleased to announce the second development release in the unstable 1.17 release series. The unstable 1.17 release series adds new features on top of the current stable 1.16 series and is part of the API and ABI-stable 1.x release series of the GStreamer multimedia framework. The unstable 1.17 release series is for testing and development purposes in the lead-up to the stable 1.18 series which is scheduled for release in a few weeks time. Any newly-added API can still change until that point, although it is rare for that to happen. Full release notes will be provided in the near future, highlighting all the new features, bugfixes, performance optimizations and other important changes. The autotools build has been dropped entirely for this release, so it's finally all Meson from here on.

  • Qt Design Studio - Sketch Bridge Tutorial Part 1

    Welcome to this Qt Design Studio Sketch Bridge Tutorial, to follow along with this you will need the commercial Qt Design Studio 1.5 Package and Sketch Bridge, macOS and Sketch installed (I'm using 66.1). With this tutorial I want to show you how to build up a sketch project that creates a clean export and import into Qt Design Studio (which i will refer to as qds for the rest of the tutorial), uses symbols and instances for proper componentization and goes back and forth from Sketch to qds in iterative loops building up a more complex scene from simple building blocks. I'll also cover some of the most common issues i come across from other users and the tips and tricks I've developed while working with the Bridge Plugin. I think it's important before we start to clarify that although Sketch allows designers to achieve their design concepts in a flexible and open ended manner, in order to have a pixel perfect design built around developer friendly components in qds, it is very important to structure and prepare your project in a certain manner, and although that is not overly complex to learn it does take some time and knowledge to do it well. My hope is this tutorial will provide you with the necessary experience to bring your designs much closer to this point. With this caveat out the way let's dive right in and start designing. [...] Now we have the default background state for the button let’s create the other two states we want to use for this tutorial, a hover and pressed state. We can do this by duplicating our original rectangle, renaming the layers and then putting them side by side for now so we can see the design changes in parallel, to make this a bit easier we can drag the symbol width out so we can fit our buttons side by side, we will be resizing this after we are done with the design.

  • Excellent Free Tutorials to Learn Solidity

    Solidity is an object-oriented, high-level language for implementing smart contracts. Solidity lets you program on Ethereum, a blockchain-based virtual machine that allows the creation and execution of smart contracts, without requiring centralized or trusted parties. Solidity is statically typed, supports inheritance, libraries and complex user-defined types among other features. With Solidity you can create contracts for uses such as voting, crowdfunding, blind auctions, and multi-signature wallets. Solidity was influenced by C++, Python and JavaScript. Like objects in OOP, each contract contains state variables, functions, and common data types. Contract-specific features include modifier (guard) clauses, event notifiers for listeners, and custom global variables.