There is a proposal for F-Droid to adopt an interim AI policy, along the lines of Debian's pro-AI policy.

I am not in favour of this.

In particular, I don't want to see genAI code in either F-Droid's own software, or in apps in F-Droid's repository:

gitlab.com/fdroid/admin/-/work_items/699#note_3771382103

Mine is, of course, just one voice. But I will continue to push for human-written FOSS apps, for human users.

(Yes, I am an F-Droid board member. Yes, I'm a volunteer, like everyone else. Yes, others seem to have different views. I do what I can.)

in reply to Neil Brown
in case they (or you) haven’t seen it you might want to draw folks attention to the open jdk policy, which seems more sensible to me in that it doesn’t lay the groundwork for future total acceptance of llm generated floss but still leaves room for debate. openjdk.org/legal/ai (edited to add link)
Esta entrada fue editada (hoy, 6:34)
in reply to Neil Brown
@Neil Brown I have no idea whether the two apps I mentioned were coded manually or with aid of GenAI. What I meant to say is that they allow me to access and work with my own inference backend. This is also "AI" in a sense and currently flagged as "potentially unwanted features", but something that should not be banned IMO.
As to your point, a repository that has only human written code is certainly a quality argument.
On the other hand, there is a large gray zone where humans are still in control, design the architecture, write code themselves and and review the code in detail, but use GenAI for some coding assistance. I have no problem with that as long as the developers understand the code. But you could maybe just sort them into a different repo?
Of course I see how we do not want "slop apps" where AI did the design and the developer does not even understand the code in the repo.
in reply to Tobias Ernst

@tobifant My read is that you are still framing things in terms of usefulness; where for many the usefulness of the output is not a determining factor, like @neil said. Put another way, you could have LLM code that is provably better (whatever that means) than the human equivalent and still not want to interact with it (on climate, stolen training data, vendor lock-in, or some other arguments).

"Is it useful" is not enough of a bar for many.

in reply to Ozzelot

@Ozzelot @Neil Brown Any technology can be used responsibly and irresponsibly, and humankind has a track record of always starting out with the irresponsible one before finally setting for responsible uses, unfortunately.

I use local models, they take 150 Watts for inference, that's two conventional light bulbs. I reckon a lot of power was used to train them, but that's a one time effort. I consider this responsible use.

Book destruction - some tech bros been caught doing it. Of course that's evil but you can also scan books non-destructively.

Non-consensual use? Oh well, if you publish a book, you consent to anybody reading it.

Bottomline - for coding *assistance*, a small Qwen is all you need to get the job done father. Qwen already exists and you can run in with moderate hardware.

It will fail at just building an app by one click (but that's exactly the kind of apps we do not want on F-Droid or anywhere else), but it can help you get the job done faster while coding and still understanding what it is that you code.

See what I mean?

in reply to Neil Brown

so many apps on F-Droid are clearly vibe coded. I literally just downloaded a nice looking launcher, tried it out, checked the source code and it openly said it was a project in vibe coding. Shame as it looked like a nice concept but i can't trust it.

I used to be able to trust that f-droid apps were ugly, buggy, functional, and made with integrity and care. The toothpaste is clearly out of the tube now but it's a shame what we have lost.

in reply to vksxypants
@vksxypants That seems like a sensible compromise. F-Droid already has some apps with "features I may not like" (such as being tied to a specific online service) but it has the good grace to let me choose to filter them out. Adding a "Contains AI- assisted source" flag that users can filter on would be very helpful.
in reply to Neil Brown
While I see your point, I'm just acknowledging that more and more people are writing code with AI tools, being pure vibe coding or AI-assisted coding.
There's no going back, we should accept the new reality and take all reasonable precautions to keep high the quality of software, no matter the origin.
Esta entrada fue editada (hoy, 7:21)
in reply to nicolaottomano

@nicolaottomano @nini I think many opposed to how LLMs are being framed and forced down our throats would agree they're a fitting example, though not based on the colloquial usage of the term but what they actually stood for:

The Luddites were members of a 19th-century movement of English textile workers who protested the usage of certain types of automated machinery owing to their concerns over worker pay, labour savings, child labour, working conditions, and output quality.


in reply to nicolaottomano
@nicolaottomano And I guess I'm a Luddite then, it's not a futile war against progress but a stance that rejects the inevitability of worsening conditions because we can't or won't stop it. LLMs do not work for us, they work for their owners and we cannot shape them to benefit us as their sole purpose is to take from us. We'd end up adapting to it, not the other way around.
in reply to Zło To 🏴‍☠️
@Zło To 🏴‍☠️ @Neil Brown For me absolutely so. Just bought a Fairphone and switched to e/OS and am going to shout about it on Linkedin and elsewhere as loud as I can as soon as I will have confirmed all my business and banking apps are also working. So far it is looking great!
in reply to Monokeros

@monokeros
You can absolutely have your own community and enjoy it whatever way members agree. You can also freely try to split and cause carnage in a community you are a member of.
It's all fine and sometimes events like these are actually a catalyst for innovation for both factions!

I think most people are not that into causing rifts like that and will go the Debian way. But again, there is plenty of space for any way of thinking and such diversity should be encouraged!

@neil

in reply to Ken Milmore

@kbm0 Debian needs coding practice labelling as well. It needs an ontology, really. "Vibe coded end-to-end" does not seem the same as, say, "used copilot for drudge work, then checked it", at least in terms of code quality.

IMO it must also be possible to (reasonably) easily completely exclude or be aware of code generated from unknown inputs by unknown means as far as it is known this has happened. Linux should label in a machine-readable way if it's not already. This's a license issue.

in reply to rcgj, procrastinator 1°- 4° (at times)
@rcgj_OxPhys The Linux kernel have introduced an "Assisted-by" attribution tag for labelling patch submissions as AI-assisted, but it is very tricky to police: It turns out that some subsystem maintainers have been actively stripping it out. The real difficulty is that the whole community seems to be split between people who give a sh*t about these issues, and people who don't. It's like most other things in wider society and politics these days - absence of consensus. 🙁
in reply to Neil Brown

Oh crud… Lately I've talked to the F-Droid account on the Fediverse about “AI” anti-feature. And I was shut down due to increased workload.

…now I wonder how EU rules about labeling degenAI content will affect them and Debian.

Edit: there are hints that the Debian vote was staged: hachyderm.io/@dalias/117179333327047930

Esta entrada fue editada (hoy, 9:38)
in reply to Tobias Ernst

@tobifant
I disappoint… :(((

Still I'll dig into this.

Edit: AI Act art. 50 § 2 and guidelines read that “AI” providers and deployers shall mark any genAI content.

Now it gets murky if F-Droid or Debian are to be considered deployers¹.
IMHO IANAL opinion F-Droid would fall out of this definition (sans their client) as a store where you choose the apps to install. But Debian might not, as installing the distro you don't have the option to choose non-slop code.

1. AI Act art. 3 (4)

»

@neil

Esta entrada fue editada (hoy, 9:55)
in reply to Neil Brown

I wonder how much it differ from "I do not want apps written in language A" mantra.

There were people writing shitty software. There are, and there will be.

Never mind which language they speak, which they use to write an app and how much of that app will come from AI/LLM.

The thing is: no one is forcing to use AI or AI assisted apps.

in reply to Liam Proven

@lproven
What I meant is there is no point in setting "no AI-assisted apps in XYZ repository".

Unless you have tens of people who will review each app on each update.

Some apps will get AI-assisted code from their authors. Or external contributors. Or will use AI-assisted library or external code. At any random moment in the app history.

You believe that each step will be marked as AI-assisted? I highly doubt.

Sure, quality of some vibe-coded apps is poor. But so is with human-coded.

in reply to Marcin Juszkiewicz 🙃

@hrw @lproven Saying there's no point in declaring "no genAI code in this repository" is like saying there's no point to "no soliciting" signs cause people can still do it, or no point to including the GPL because it doesn't stop someone from pasting in non-free code

It's a policy position. Sure, someone could sneak in code that violates the policy, but that doesn't make the policy pointless.

That said, I'd prefer a slightly more relaxed position.

in reply to Joshua Miller

@unrtst @hrw Exactly. This is not about enforcement, it's about the position, the statement. Most FOSS developers do it for the love, for fun, for learning. I don't think most of them will lie over that. Some will, sure, but you don't want that kind of person in a project anyway.

They have other projects to go pollute.

in reply to Neil Brown

I find the Gentoo rules to be of great inspiration.

"It is expressly forbidden to contribute to Gentoo any content that has been created with the assistance of Natural Language Processing artificial intelligence tools. This motion can be revisited, should a case be made for such a tool that does not pose copyright, ethical and quality concerns."

wiki.gentoo.org/wiki/Project:Council/AI_policy

in reply to larry fucking LOVES kde
Does this policy apply only to code native to Gentoo, or also to their repositories? Have they started controlling the content of their repositories to either pin software to the last known version devoid of LLM-assisted work, or remove it and substitute it with alternatives when possible? I know of at least one distribution, Hyperbola, that has started removing functionality (in this case, WebKit browsers) in order to prevent AI code from being present in their repository at all
in reply to Neil Brown
literally "no AI-code" in code is fiction I am afraid, also how can you check that and what is the difference from the old days when people copied parts of code from elsewhere without checking. The important thing is quality (in various aspects) and being responsible for what you make, what tools you use (AI or others), is secondary?
Esta entrada fue editada (hoy, 12:54)
in reply to Neil Brown

I have had a lot of replies to this, and I am sorry that I will not be able to reply to each individually.

But I can at least try to reply thematically.

Again, my personal views.

> I like genAI / I use genAI

There's not really an argument here, but as a show of "banning genAI would annoy me, as a user of F-Droid", yes, I take that on board.

> genAI is really good

Even if true, on its own, this does not carry enough weight in my eyes to justify overlooking the problems.

> It is the output that counts, not how it is made.

Ethics matter to me.

I support codes of conduct for projects. I can't ignore the horrible views of an author to let me enjoy their writing. And so on.

To my mind, a community - humanity! - is about more than code, and I don't buy a "make the code better at all costs" argument.

Esta entrada fue editada (hoy, 16:18)
in reply to Neil Brown

> It is too late to stop genAI

Why? Is there actually an argument here?

If F-Droid said "from now on, we do not accept apps created using genAI", there might be some arguments around the edges of what that means, but F-Droid could indeed draw the line.

> A ban would not stop people using genAI / people will not tell you that they are using genAI

I agree. If someone is willing to lie about their use of genAI, and submit it anyway (assuming that it was prohibited), then the F-Droid volunteers may not be able to detect it.

There is a limit to what any project can do about bad faith actors, willing to break the rules because it suits them.

Importantly, a position sends a signal. It says "this is what we want our community to be". Laws against murder do not stop murders. People still drive while intoxicated. etc.

in reply to Neil Brown

> It is not for F-Droid to determine what F-Droid hosts

F-Droid already has an inclusion policy (f-droid.org/docs/Inclusion_Policy/).

I can't see the existence of such a policy changing (nor would I want to default to "anything goes").

So F-Droid already determines the boundaries of what it is wiling to host.

And those boundaries can - do - change over time.

Note that the repository system is open, in that developers can host their own repositories or use a third party repository, and users can choose what repositories to add.

> You can just choose not to use an app made by genAI?

This is hard to reconcile with an argument that people will not disclose their use of genAI. Both cannot be true.

In any case, developers who wish to use genAI could "just choose" not to submit to F-Droid's own repositories, and run their own, and make whatever decisions they like about the governance of that repo.

in reply to Neil Brown

I have tried to cover the main points here, and my apologies for what I have missed. I have also tried to be brief.

I try to stick to "more than three toots should be a blogposts", and I have failed here. Sorry. Perhaps I will collate them as a blogpost too.

Again, my views. Not those of F-Droid. I am just one voice here. etc.

in reply to Neil Brown
Remember that most apps, in fact essentially *all* apps, have a lot of software library dependencies. So avoiding AI completely becomes tricky, just as with Linux. It is possible to scrupulously avoid AI in your own project (a stance which I wholeheartedly approve of), but to still have the rug pulled out from under you by libraries, or even things like the kernel. Although purism is well meant, I'm concerned it may kill off FLOSS faster and more effectively it kills off LLM use.
in reply to No Fate: Butlerian Jihad Now
@glitzersachen I share the same fear, but because of the interdependencies between projects, almost everything is already becoming indirectly compromised to some degree.
The easiest way to avoid this is to build your dependency stack entirely on software from 2021 or before. But security batching becomes a big chore.
in reply to Ken Milmore

@kbm0 what is the argument supposed to be? "we can't control everything so we can't control anything"? systems can be imperfect without wholeheartedly embracing their imperfections. that's just life. we do what we can. but i suppose not everyone thinks of it that way.

there are already dozens of projects with anti-ai policies...hopefully it won't "kill FLOSS". here's some: codeberg.org/brib/slopfree-software-index

if minimum viable non-slop alternatives to given libraries exist, they ought to be preferred; if a library is known to be slop in advance, it would be better not to use it if possible. i don't see the need to throw up our hands and give up because of dependencies

in reply to David Chisnall (*Now with 50% more sarcasm!*)

@david_chisnall

Yes, in the thread I wrote:

> Note that the repository system is open, in that developers can host their own repositories or use a third party repository, and users can choose what repositories to add.

in reply to Neil Brown

> > It is not for F-Droid to determine what F-Droid hosts

I am bit surprised by this argument and its ingenuity.

Of course EVERY project which is brokering things or hosting things can and must determine what it hosts. For example (taken from a different domain) hosting a rendering of mad old uncle Adolf's "Mein Kampf" will decidedly get a project into trouble in some jurisdictions, so there has to be a determination of the unavoidable limitations one wants to accept and which not. Either not offering the service everywhere or not hosting everything.

Furthermore F-Droid takes a stand on undesired types of content already with the section "Features you might not like".