451
452
 
 

In the world of open source, relicensing is notoriously difficult. It usually requires the unanimous consent of every person who has ever contributed a line of code, a feat nearly impossible for legacy projects. chardet , a Python character encoding detector used by requests and many others, has sat in that tension for years: as a port of Mozilla’s C++ code it was bound to the LGPL, making it a gray area for corporate users and a headache for its most famous consumer.

Recently the maintainers used Claude Code to rewrite the whole codebase and release v7.0.0 , relicensing from LGPL to MIT in the process. The original author, a2mark , saw this as a potential GPL violation

453
454
submitted 5 months ago* (last edited 5 months ago) by to c/opensource@programming.dev
 
 

EDIT: They want users to help generate a dataset. You just play a game and email them the data when you are done.

I just did it, it was easy.

455
 
 

As someone who loves both coding and language learning (I'm learning Japanese right now), I always wished there was a free, open-source tool for learning Japanese, just like Monkeytype in the typing community.

Here's the best part: I added a gazillion different color themes, fonts and other crazy customization options, inspired directly by Monkeytype. Also, I made the app resemble Duolingo, as that's what I'm using to learn Japanese at the moment and it's what a lot of language learners are already familiar with.

Miraculously, people loved the idea, and the project even managed to somehow hit 1k stars on GitHub now. Now, I'm looking to continue working on the project to see where I can take it next.

Back in January, I even applied to Vercel's open-source software sponsorship program as a joke. I didn't seriously expect to win, and did it more out of curiosity, fully expecting to lose.

Lo and behold, yesterday I woke up to an email saying the app has been accepted into Vercel's Winter cohort. Crazy! GitHub: https://github.com/lingdojo/kana-dojo

Anyway. Why am I doing all this? Because I'm a filthy weeb.

どうもありがとうございます!

By developer @tentoumushi@sopuli.xyz

456
 
 

In the previous post, JADEx introduced a new feature Immutability.
Through community feedback, several confusions and limitations were identified.

In v0.42, we have addressed these issues and improved the feature. This post explains the key improvements and new additions in this release.


Improvements

apply immutability -> apply readonly

  • The previous term (Immutability) caused misunderstandings.
  • Community feedback revealed that “Immutable” was interpreted differently by different developers, either as Deeply Immutable or Shallowly Immutable.
  • In v0.42, we replaced it with readonly.
  • Meaning: clearly indicates final by default, preventing reassignment of variables.

Expanded Scope of final keyword: now includes method parameters

  • v0.41: final was applied only to fields + local variables
  • v0.42: final is applied to fields + local variables + method parameters
  • Method parameters are now readonly by default, preventing accidental reassignment inside methods.

Example Code

JADEx Source Code

package jadex.example;

apply readonly;

public class Readonly {

    private int capacity = 2; // readonly
    private String? msg = "readonly"; // readonly

    private int uninitializedCapacity; // error (uninitialized readonly)
    private String uninitializedMsg;    // error (uninitialized readonly)

    private mutable String? mutableMsg = "mutable";  // mutable

    public static void printMessages(String? mutableParam, String? readonlyParam) {

        mutableParam = "try to change"; // error
        readonlyParam = "try to change"; // error

        System.out.println("mutableParam: " + mutableParam);
        System.out.println("readonlyParam: " + readonlyParam);
    }

    public static void main(String[] args) {
        var readonly = new Readonly();
        String? mutableMsg = "changed mutable";

        readonly.capacity = 10; // error
        readonly.msg = "new readonly"; // error

        readonly.mutableMsg = mutableMsg;

        printMessages(readonly.msg, mutableMsg);

        System.out.println("mutableMsg: " + readonly.mutableMsg);
        System.out.println("capacity: " + readonly.capacity);
        System.out.println("msg: " + readonly.msg);
    }
}

Generated Java Code

package jadex.example;

import org.jspecify.annotations.NullMarked;
import org.jspecify.annotations.Nullable;
import jadex.runtime.SafeAccess;

//apply readonly;

@NullMarked
public class Readonly {

    private final int capacity = 2; // readonly
    private final @Nullable String msg = "readonly"; // readonly

    private final int uninitializedCapacity; // error (uninitilaized readonly)
    private final String uninitializedMsg; // error (uninitilaized readonly)

    private @Nullable String mutableMsg = "mutable";  // mutable

    public static void printMessages(final @Nullable String mutableParam, final @Nullable String readonlyParam) {

        mutableParam = "try to change"; //error
        readonlyParam = "try to change"; //error

        System.out.println("mutableParam: " + mutableParam);
        System.out.println("readonlyParam: " + readonlyParam);
    }

    public static void main(final String[] args) {
        final var readonly = new Readonly();
        final @Nullable String mutableMsg = "changed mutable";

        readonly.capacity = 10; //error
        readonly.msg = "new readonly"; //error

        readonly.mutableMsg = mutableMsg;

        printMessages(readonly.msg, mutableMsg);

        System.out.println("mutableMsg: " + readonly.mutableMsg);
        System.out.println("capacity: " + readonly.capacity);
        System.out.println("msg: " + readonly.msg);
    }
}

New Additions

JSpecify @NullMarked Annotation Support

  • All Java code generated by JADEx now includes the @NullMarked annotation.
  • This improves Null-Safety along with readonly enforcement.

This feature is available starting from JADEx v0.42. Since the IntelliJ Plugin for JADEx v0.42 has not yet been published on the JetBrains Marketplace, if you wish to try it, please download the JADEx IntelliJ Plugin from the link below and install it manually.

JADEx v0.42 IntelliJ Plugin

We highly welcome your feedback on JADEx.

Thank you.

457
458
459
 
 

Ahead of the stable GIMP 3.2 release hopefully happening soon, GIMP 3.2 RC3 was released this evening for testing.

GIMP 3.2 has been aiming to release within one year of GIMP 3.0. With GIMP 3.0 having released in mid-March, the stable GIMP 3.2 will hopefully be out around this time if all goes well.

460
 
 

Following in the footsteps of Hashicorp, Hudson, etc. Zed has chosen to cash in the good will of its now substantial user base and start going to full corporate enshittification. Among other things like minimum age nonsense, they have also added binding mandatory opt-OUT arbitration.

I find such agreements very troubling, because it gives up public funded dispute resolution for private which nearly unanimously benefits larger entities, it lowers transparency to near zero, and eliminates the abilities to act as a class and to appeal. But I worry most will just accept it, as is the norm.

You can however opt out by emailing arbitration-opt-out@zed.dev with full legal name, the email address associated with your account, and a statement that you want to opt out.

I'll just consider my days of advocating for Zed as an interesting new editor over and go back to Neovim bliss.

461
462
 
 

This is the first release of Gram, an open source code editor with built-in support for many popular languages. Gram is an opinionated fork of the Zed code editor. It shares many of the features of Zed, but is also different in some very important ways.

463
464
 
 

The European Space Agency (ESA) actively promotes and develops open source software across multiple space-related domains:

Key Areas:

  • Earth observation and satellite data processing tools like SNAP and Sentinel Toolboxes[^1]
  • Positioning and navigation software including GNSS-SDR and RTKLIB[^1]
  • Satellite communications tools such as GNU Radio implementations[^1]
  • Machine learning and data analysis frameworks like TerraMind[^3]

ESA's Open Source Policy establishes clear guidelines for software distribution:

  • Software can be licensed for use within ESA member states or worldwide[^2]
  • ESA uses its own license types (ESA Public License and ESA Community License) with varying levels of copyleft restrictions[^2]
  • The policy aims to increase software quality, reduce costs, and foster collaboration[^2]

Recent Initiatives:

  • The BioPAL project for the Biomass satellite mission, using open source Python code for processing P-band radar data[^5]
  • Partnership with IBM to release ImpactMesh, a dataset and tools for mapping floods and wildfires using satellite data[^3]
  • The European Space Software Repository (ESSR) serves as a central hub for sharing space-related open source projects[^1]

[^1]: ESA - Open Source Software Resources

[^2]: ESA - Open Source Policy

[^3]: IBM - IBM and ESA release new dataset

[^5]: ESA - Biomass mission open source project

465
466
 
 

cross-posted from: https://lemmy.world/post/43705151

Last month I posted HelixNotes here and some of you asked about mobile. Version 1.2.1 ships with an Android APK. Same codebase, Rust + Tauri 2.0, no separate app. Since last post: Android support, Ollama for local AI, graph view performance improvements, wiki-link navigation, and a bunch of mobile UX polish. Direct APK download from the site. IzzyOnDroid submission in progress. AGPL-3.0, source on Codeberg.

467
468
 
 

Opinion: Careless big-time users are treating FOSS repos like content delivery networks

469
 
 

Nominations are now open for this year’s appointments to the F-Droid Board of Directors! We are looking to select up to four volunteer directors to serve for two years each.

470
 
 

The Open Source Endowment, a new nonprofit, aims to bring a university-style endowment model to open source by providing long-term, investment-backed funding for widely used but under-resourced FOSS projects.

As a US 501(c)(3) public charity, the organization invests donations to create a permanent capital base. Only annual investment returns are distributed as grants, while the principal remains intact to ensure ongoing funding. This approach mirrors how academic institutions use endowments to finance operations.

The initiative addresses the FOSS ecosystem where critical infrastructure components, such as libraries, language runtimes, packaging systems, and networking tools, support global technology stacks but often depend on small teams or individual maintainers. While foundations and corporate sponsors offer some support, funding remains inconsistent and often tied to short-term business goals.

471
 
 

Shotcut, a popular open-source video editor, has released version 26.2. This update resolves several regressions introduced in recent versions.

A crash when adding long videos to the Timeline with Qt 6.10.1, introduced in version 26.1, has been fixed. Windows users working with HEVC sources also benefit from a fix for a black or green bar at the bottom of the preview when hardware decoding and preview scaling were enabled.

Moreover, the RGB Shift video filter crash from version 25.12 has been resolved, along with a FLAC export issue that produced incorrect duration metadata and disabled scrub bars in some media players. Multiple Playlist actions, such as GoTo, Move Up, Move Down, Add Selected to Timeline, Add Selected to Slideshow, and sorting, no longer crash when triggered without a selection.

472
 
 

This is the emails between the YouTuber YGK3D and Anycubic, it seems like they won't send 3D printers to reviewers who mention their GPL3 license violations.

tl;dr Anycubic uses open-source software for their firmware, but doesn't make it public as per license agreement, and they don't seem to be friendly to anyone who calls this out.

More info: https://www.youtube.com/post/UgkxIMpZTkXqFo0H6pDwhZpdYqMYvLhPvWA5?lc=UgxA-4LYvwrnonXuXsZ4AaABAg

473
474
 
 

The Trump administration has ordered U.S. diplomats to lobby against countries’ attempts to regulate how American tech companies handle foreigners’ data, arguing that data sovereignty laws threaten the advancement of AI services and technology, Reuters reported, citing an internal diplomatic cable.

The cable, signed by U.S. Secretary of State Marco Rubio, says such laws would “disrupt global data flows, increase costs and cybersecurity risks, limit AI and cloud services, and expand government control in ways that can undermine civil liberties and enable censorship,” according to the report.

The cable pushes diplomats to “counter unnecessarily burdensome regulations, such as data localization mandates.” It also orders them to track proposals that would promote data sovereignty laws, and urged diplomats to promote the Global Cross-Border Privacy Rules Forum, an international group that claims to enable “trusted data flows globally through international data protection and privacy certifications.”

475
 
 

Browse the read-only demo:

Sriracha is available under under GNU LGPL.

Docker images are available for simple and easy deployment.

view more: ‹ prev next ›