Re: Proposal unify back our release schedules

2024-04-24 Thread Michael Reeves
For the same reason they are sometimes seen as convenient this type of 
container format can be a pain when a security patch or bug fix needs to be 
propagated to every app that uses a library on an individual basis.
Also some app image formats like flatpak are very restrictive by default on 
what they allow an app to do. Something to think about as we will get bugs 
related to that if app images become the primary distribution mechanism.

Apr 24, 2024 1:56:30 PM Martin Flöser :

> Am Freitag, 19. April 2024, 11:04:33 CEST schrieb Carl Schwan:
>> Currently this is just a proposal, not a vote proposal or anything like
>> that. I'll be happy to receive positive or negative feedback on this idea.
> 
> Reading through the proposal and the discussion, I think we need to think a
> little bit outside of the box. I have the feeling that most devs still see
> Linux distributions as the primary way to distribute our software. I do not
> think that this is universal true anymore and if we move away from it, this
> would open up way new possibilities.
> 
> Let's assume for apps we see Flathub/Snaps/Windows Store/whatever store as our
> primary distribution channel, this would give us quite some advantages:
> 
> * less duplicated work for distributions
> * no problems with "this framework release is not packaged yet"
> * no overwhelmed work for distributions due to too many packages need to be
> updated
> * no need to push an update if nothing changed
> * no random "this pulls in KDE" due to incorrect packaging
> * always up to date software for our users
> * no bad experience due to missing (optional) dependencies
> * easy release for the maintainers without needing a release team (what about
> a Gitlab create release pipeline the maintainer can press)
> 
> So this would totally open up a new way to release and distribute "Gear". And
> with Gear being easily available for everyone this would also give the
> possibility to move things into Plasma which belong into Plasma, but haven't
> been for "this is an app and also usable on other desktop". What comes in my
> mind is everything that are essential apps for a decent desktop experience:
> 
> * dolphin
> * spectacle
> * an image viewer (gwenview/koko, etc.)
> * okular
> * ...
> 
> Those could still be apps, but be released together with Plasma, thus also
> tightly integrate with Plasma while at the same time be distributed through
> other channels.
> 
> Such a model should also help with the development experience. I read a few
> comments about it being a problem on depending on frameworks master - I agree
> that is a problem. But not so much if there is always an up to date
> development container available to pull and hack on. If apps are
> containerized, their build environment can also be containerized.
> 
> So my suggestion: think about more than just the release cycle and the
> alignment of the releases if you are going to touch this (hot) topic.
> 
> Cheers
> Martin


signature.asc
Description: PGP signature


Re: Proposal unify back our release schedules

2024-04-24 Thread Martin Flöser
Am Freitag, 19. April 2024, 11:04:33 CEST schrieb Carl Schwan:
> Currently this is just a proposal, not a vote proposal or anything like
> that. I'll be happy to receive positive or negative feedback on this idea.

Reading through the proposal and the discussion, I think we need to think a 
little bit outside of the box. I have the feeling that most devs still see 
Linux distributions as the primary way to distribute our software. I do not 
think that this is universal true anymore and if we move away from it, this 
would open up way new possibilities.

Let's assume for apps we see Flathub/Snaps/Windows Store/whatever store as our 
primary distribution channel, this would give us quite some advantages:

 * less duplicated work for distributions
 * no problems with "this framework release is not packaged yet"
 * no overwhelmed work for distributions due to too many packages need to be 
updated
 * no need to push an update if nothing changed
 * no random "this pulls in KDE" due to incorrect packaging
 * always up to date software for our users
 * no bad experience due to missing (optional) dependencies
 * easy release for the maintainers without needing a release team (what about 
a Gitlab create release pipeline the maintainer can press)

So this would totally open up a new way to release and distribute "Gear". And 
with Gear being easily available for everyone this would also give the 
possibility to move things into Plasma which belong into Plasma, but haven't 
been for "this is an app and also usable on other desktop". What comes in my 
mind is everything that are essential apps for a decent desktop experience:

 * dolphin
 * spectacle
 * an image viewer (gwenview/koko, etc.)
 * okular
 * ...

Those could still be apps, but be released together with Plasma, thus also 
tightly integrate with Plasma while at the same time be distributed through 
other channels.

Such a model should also help with the development experience. I read a few 
comments about it being a problem on depending on frameworks master - I agree 
that is a problem. But not so much if there is always an up to date 
development container available to pull and hack on. If apps are 
containerized, their build environment can also be containerized.

So my suggestion: think about more than just the release cycle and the 
alignment of the releases if you are going to touch this (hot) topic.

Cheers
Martin




Re: Proposal unify back our release schedules

2024-04-23 Thread Marco Martin
On Saturday, 20 April 2024 15.50.58 CEST Kevin Ottens wrote:
> One thing I'm unsure for instance is: do we want to make Gear -> Plasma
> dependencies completely forbidden?
> 
> We might consider this going one step too far. I could understand if a Gear
> app wants to provide "more integration" in a Plasma session. So mandatory
> Gear -> Plasma dependencies, I agree are to forbid, but optional ones? I'm
> less certain.

if such a ban would get in place, imposes to treat even more with care the 
tendency to put things in plasma instead of doing a proper framework because 
they are much easier to manage/depend from within plasma (still not convinced 
at the activities move for instance 廊)

-- 
Marco Martin




Re: Proposal unify back our release schedules

2024-04-23 Thread Marco Martin
On Friday, 19 April 2024 18.39.01 CEST Kevin Ottens wrote:
> > * We end up with 3 different products which are released at different
> > times
> > but are connected together. Apps and Plasma both need Framework, Plasma
> > needs some packages from gear like kio-extra, Gear needs some package from
> > Plasma like Breeze. Coordinating all these inter-groups dependencies is
> > complex and was one the reason we had to do a megarelease for Plasma 6.
> > Also for the end user, one product is a lot easier to understand.
> 
> This is an engineering topic in this case.
> 
> And, to me, this is an excellent reason not to reunify release schedules!
> Because what it tells me is that we're still having dependency issues which
> need to be solved.

sometimes the dependency problem i hear people comaplaining about is also more 
of a thing "for this app(or plasma) release i want to use this framework 
feature but i can't yet because i can't depend from x version" which really 
seems to be a problem to be solved with more... discipline?

-- 
Marco Martin




Re: Proposal unify back our release schedules

2024-04-22 Thread David Edmundson
> As a result I'll rescind my idea to slow down Frameworks feature
> releases.

Then I'll take over and fight for it!

>that having a fast Frameworks release cycle allows
> people developing apps with features in Frameworks to not have to live
> on master like we do in Plasma.

That was the motivation for the change. And it's simply a bad motivation.

The most important stakeholder of our release cycle is not app
developers. It's the end-user.

We've seen this in practice over the last 10 years that the user
experience suffers with the short release cycle. Less than a month is
not enough for any meaningful testing, especially for API that we
commit to for years and years.  We've seen last minute respins and
panics on so many 5.x releases.That trumps any other developer-centric
argument by far as the most important thing for developers is their
apps to work well with the libraries they use.

I am 100% certain we would have better products with a different
branch policy on frameworks than the current optimistic policy of
master always being perfect and not having bugfix releases.

How branch policy changes how we do releases still has many many
options, but I would like to see something change and this proposal
does fix that.

David


Re: Proposal unify back our release schedules

2024-04-22 Thread Neal Gompa
On Mon, Apr 22, 2024 at 2:29 PM Nate Graham  wrote:
>
>
>
> On 4/22/24 19:19, Albert Astals Cid wrote:
> > El dilluns, 22 d’abril del 2024, a les 17:12:46 (CEST), Nate Graham va
> > escriure:
> >> Now, let's say we make Gear use Plasma's current release schedule by
> >> syncing up the feature releases and adopting the Fibonacci bugfix
> >> releases. If we don't end up changing Plasma's own release schedule then
> >> we already make our promo store more coherent by letting the marketing
> >> team do three big glossy announcements of user-facing products a year,
> >> rather than being stretched thin for 6. Even if we make Plasma go down
> >> to 2 releases a year, then we have two synced Gear+Plasma
> >> "mega-releases" and 2 independent Gear releases--down from 6 to 4. Both
> >> of these options would improve the promo story IMO.
> >>
> >> ---
> >>
> >> Moving on, the biggest points of contention I see revolve around
> >> Frameworks. Personally I want to push back a bit on the idea of
> >> developing an app against released frameworks.
> >
> > I disagree.
> >
> > In my ideal world, applications should be able to be built against a one 
> > year
> > old frameworks, before the Qt6 port, Okular's minimum requirement was Ubuntu
> > 22.04, which makes sure virtually everyone can contribute to it without 
> > having
> > to build the world.
> >
> > There's virtually no need in Okular to depend against any new frameworks 
> > shiny
> > feature, the existing features are more than enough.
> >
> > Cheers,
> >Albert
>
> This is true for Okular, but we can't guarantee it for other apps.
>
> However I was fortunate enough to be sitting across a table from Volker,
> who explained this point to me in a way that my tiny brain was capable
> of understanding: :) that having a fast Frameworks release cycle allows
> people developing apps with features in Frameworks to not have to live
> on master like we do in Plasma.
>
> I'd love to have everywhere in my slide of KDE what Albert has for
> Okular, but I there are other barriers to it that we need to overcome.
>
> As a result I'll rescind my idea to slow down Frameworks feature
> releases. I do still think Frameworks could benefit from un-branched
> bugfix releases a week after the feature releases--after which point
> feature development would be open again.
>
> And I still support unifying or aligning the Gear and Plasma release
> schedules.
>

Then I think we're back to my idea of monthly frameworks, quarterly
Gear, and semi-annual Plasma with semi-synchronized schedules.



-- 
真実はいつも一つ!/ Always, there's only one truth!


Re: Proposal unify back our release schedules

2024-04-22 Thread Nate Graham




On 4/22/24 19:19, Albert Astals Cid wrote:

El dilluns, 22 d’abril del 2024, a les 17:12:46 (CEST), Nate Graham va
escriure:

Now, let's say we make Gear use Plasma's current release schedule by
syncing up the feature releases and adopting the Fibonacci bugfix
releases. If we don't end up changing Plasma's own release schedule then
we already make our promo store more coherent by letting the marketing
team do three big glossy announcements of user-facing products a year,
rather than being stretched thin for 6. Even if we make Plasma go down
to 2 releases a year, then we have two synced Gear+Plasma
"mega-releases" and 2 independent Gear releases--down from 6 to 4. Both
of these options would improve the promo story IMO.

---

Moving on, the biggest points of contention I see revolve around
Frameworks. Personally I want to push back a bit on the idea of
developing an app against released frameworks.


I disagree.

In my ideal world, applications should be able to be built against a one year
old frameworks, before the Qt6 port, Okular's minimum requirement was Ubuntu
22.04, which makes sure virtually everyone can contribute to it without having
to build the world.

There's virtually no need in Okular to depend against any new frameworks shiny
feature, the existing features are more than enough.

Cheers,
   Albert


This is true for Okular, but we can't guarantee it for other apps.

However I was fortunate enough to be sitting across a table from Volker, 
who explained this point to me in a way that my tiny brain was capable 
of understanding: :) that having a fast Frameworks release cycle allows 
people developing apps with features in Frameworks to not have to live 
on master like we do in Plasma.


I'd love to have everywhere in my slide of KDE what Albert has for 
Okular, but I there are other barriers to it that we need to overcome.


As a result I'll rescind my idea to slow down Frameworks feature 
releases. I do still think Frameworks could benefit from un-branched 
bugfix releases a week after the feature releases--after which point 
feature development would be open again.


And I still support unifying or aligning the Gear and Plasma release 
schedules.


Nate


Re: Proposal unify back our release schedules

2024-04-22 Thread Kevin Ottens
Hello,

On Monday 22 April 2024 18:08:04 CEST Carl Schwan wrote:
> On Friday, April 19, 2024 6:39:01 PM GMT+2 Kevin Ottens wrote:
> > Unsurprisingly I'll be pretty much aligned with Luigi, Sune and Volker
> > here I think. I'll try to add a couple of extra aspects to feed the
> > thinking on this topic.
> 
> Thanks you all for raising some important points. Taking into account the
> feedback, I would like to slightly change my proposal.
> 
> - Unify only the release schedule of Gear and Plasma with a frequency of
> either 4 months or 6 months. This would follow the Fibonacci release
> schedule.

Sounds good to me, although we probably want others to chip in.

> - Keep framework release once every month. But ensure that once every 4 (or
> 6) months, it happens at the same time as Gear and Plasma. We can keep the
> frequent features release of framework, which seems to be valuable for
> people not compiling the whole stack from source.

That doesn't sound too hard to achieve.

Back when releases were done by David it was tagged at a fixed predictable day 
of the month. It seems this is not the case anymore (although it's hard to 
extrapolate from two data points: 6.0 and 6.1), so should make it easier to 
meeting Gear and Plasma releases if it's floating a bit.

If there's a will to go back to a predictable day in the month, then we might 
want to instead have Gear and Plasma target this.

It's merely details though, a question of putting new habits in place, nothing 
blocking IMHO even probably the right time to do so.

> For the occasion where the Framework, Gear and Plasma, we should then ensure
> that the framework release is done at the same time or slightly before the
> gear and plasma release and ideally there is also a special beta release of
> Framework done at the same time as the gear and  Plasma beta, which can be
> tested together with the other beta releases.

I guess it depends on how long the beta phase is for Plasma and Gear at this 
point. If it's around a month you might want in fact this Frameworks n-1 to be 
the "beta" and having the n-1 to n month to be only about bugfixes and no 
features.

It'd make for a regular "stabilization only" KDE Frameworks release.

The alternative would be to add an extra beta release in between n-1 and n. So 
it's a question of the release team wanting to do it or not.

> If Plasma decides to switch to a release every 6 months and Gear prefers to
> keep a shorter release cycle, then I would suggest using 3 months for gear
> so that we still have an unified released of framework, gear and plasma
> once every 6 months. I'm less fan of this and if we have a very good reason
> to switch to a 6 months release cycle for Plasma, this argument should also
> apply to Gear.

I have no strong opinion about the 4 vs 6 months. Having the frequency of Gear 
allowing of an alignment with Plasma from time to time definitely makes sense.

> > On Friday 19 April 2024 11:04:33 CEST Carl Schwan wrote:
> > > * We end up with 3 different products which are released at different
> > > times but are connected together. Apps and Plasma both need Framework,
> > > Plasma needs some packages from gear like kio-extra, Gear needs some
> > > package from Plasma like Breeze. Coordinating all these inter-groups
> > > dependencies is complex and was one the reason we had to do a
> > > megarelease for Plasma 6. Also for the end user, one product is a lot
> > > easier to understand.
> > 
> > This is an engineering topic in this case.
> > 
> > And, to me, this is an excellent reason not to reunify release schedules!
> > Because what it tells me is that we're still having dependency issues
> > which need to be solved.
> > 
> > The example you give shows Plasma depending on Gear, this shouldn't
> > happen, so I'd argue: let's fix that instead.
> > 
> > Aligning the release schedules would only hide such structural issues.
> > 
> > This was one of the main engineering motives to split things up: when it
> > wasn't splitted this would stay hidden much longer everyone being comfy
> > with it.
> > 
> > Now it's creating pain: perfect, that makes the issue obvious, but it
> > should be addressed not masked.
> > 
> > This is in part what Volker highlighted pointing out this should be less
> > of a problem with key components being moved to Plasma. Again, if there
> > are more, let's just address them.
> > 
> > So as pointed out by Sune and Volker: this is a feature (at least in the
> > Frameworks case) not a bug.
> 
> I'm been working a lot on the visual of applications across the whole stack
> and for me, the pain is mostly caused by the fact element of our styling are
> spread across the 3 releases: gear/plasma and framework. The megarelease
> has been tremendously helpful to get visual changes implemented
> consistently across the entire stack and I don't think this can be solved
> even with the best will.
> 
> Plasma holds Breeze which holds information about how our controls look
> like. There 

Re: Proposal unify back our release schedules

2024-04-22 Thread Albert Astals Cid
El dilluns, 22 d’abril del 2024, a les 17:12:46 (CEST), Nate Graham va 
escriure:
> Ok, so happily I actually see quite a bit of agreement here, regardless
> of what else we do.
> 
> 1. Fibonacci bugfix releases are good, and we could benefit from having
> Gear adopt these.
> 
> 2. Severing implicit dependencies is a good idea. Shared libraries in
> Gear are especially problematic and could benefit from being moved to
> Frameworks.
> 
> 3. Fast frameworks releases in some capacity are a benefit and we don't
> want to lose this.
> 
> 
> All in agreement? If so, that would be amazing.
> 
> ---
> 
> Now, let's say we make Gear use Plasma's current release schedule by
> syncing up the feature releases and adopting the Fibonacci bugfix
> releases. If we don't end up changing Plasma's own release schedule then
> we already make our promo store more coherent by letting the marketing
> team do three big glossy announcements of user-facing products a year,
> rather than being stretched thin for 6. Even if we make Plasma go down
> to 2 releases a year, then we have two synced Gear+Plasma
> "mega-releases" and 2 independent Gear releases--down from 6 to 4. Both
> of these options would improve the promo story IMO.
> 
> ---
> 
> Moving on, the biggest points of contention I see revolve around
> Frameworks. Personally I want to push back a bit on the idea of
> developing an app against released frameworks. 

I disagree.

In my ideal world, applications should be able to be built against a one year 
old frameworks, before the Qt6 port, Okular's minimum requirement was Ubuntu 
22.04, which makes sure virtually everyone can contribute to it without having 
to build the world.

There's virtually no need in Okular to depend against any new frameworks shiny 
feature, the existing features are more than enough.

Cheers,
  Albert


> This is only realistic if
> you use a rolling release distro and are okay with waiting a month to
> use the new Frameworks code. 
>
> For users looking to contribute with common
> discrete-release distros, it is not at all realistic as many Frameworks
> consumers require versions newer than what those users have on their
> system, so they have to build some Frameworks anyway (note: not all of
> them; kdesrc-build/kde-builder are smart enough not to do unnecessary
> work). The older the distro's packages, the more likely this is to be.
> 
> Furthermore, because Frameworks has time-based releases and no beta
> releases, in practice the QA is provided by developers living on master.
> If KDE developers deliberately avoid this, they're not participating in
> QA. There are of course other ways to improve Frameworks' QA as well,
> but continuing to encourage KDE developers to use distro-packaged
> Frameworks goes against the larger goal: we can't QA software versions
> we're not using.
> 
> While 12 releases a year of Frameworks feels fast, it's actually not.
> Gear also has 12 releases a year: 3 feature releases and 9 bugfix
> releases. And Plasma currently gets 18: 3 feature releases and 15 bugfix
> releases. The lack of bugfix releases is notable. With Plasma if a major
> bug is discovered a day after the release (which is common) I can ship a
> fix within a week, whereas for Frameworks, it takes a month. This is not
> a theoretical problem; it has happened many times over the years.
> 
> To me it has always felt strange that the product that benefits most
> from stability gets 4 times as many yearly feature releases as Gear and
> Plasma, but no bugfix releases at all. And there have been many
> occasions oven the years where new features in Frameworks could have
> benefited from a bit more QA time in master before final release.
> 
> In this sense I find Frameworks' release schedule to be both too fast
> and too slow: too fast for new features and too slow for bugfixes.
> Shouldn't the product with the strongest stability guarantee ship
> bugfixes at least as fast as Plasma?
> 
> If Frameworks got a feature release every 2 or 3 months and a guaranteed
> bugfix release one week after each feature release, IMO the result would
> be much better. We could ship fixes for important bugs faster,
> developers would be more incentivized to live on master and therefore
> provide their own QA, the period of time during which issues with new
> features could be caught before release would be doubled or tripled, and
> we could even still have 12 total releases per year.
> 
> ---
> 
> Thus, if we make Gear's release cycle identical to Plasma's to get it
> faster bugfixes, and then we also lengthen Frameworks' release cycle so
> it gets the bugfix releases it could benefit from while slowing down its
> feature releases to improve QA, then the result looks a lot like Carl's
> proposal, and that's ultimately why it looks appealing to me.
> 
> This doesn't preclude breaking implicit dependencies and relocating
> software into groups/release vehicles more suited for them. I don't find
> the argument convincing that 

Re: Proposal unify back our release schedules

2024-04-22 Thread Carl Schwan
On Friday, April 19, 2024 6:39:01 PM GMT+2 Kevin Ottens wrote:
> Hello,
> 
> Unsurprisingly I'll be pretty much aligned with Luigi, Sune and Volker here
> I think. I'll try to add a couple of extra aspects to feed the thinking on
> this topic.

Thanks you all for raising some important points. Taking into account the 
feedback, I would like to slightly change my proposal.

- Unify only the release schedule of Gear and Plasma with a frequency of 
either 4 months or 6 months. This would follow the Fibonacci release schedule.
- Keep framework release once every month. But ensure that once every 4 (or 6) 
months, it happens at the same time as Gear and Plasma. We can keep the 
frequent features release of framework, which seems to be valuable for people 
not compiling the whole stack from source.

For the occasion where the Framework, Gear and Plasma, we should then ensure 
that the framework release is done at the same time or slightly before the 
gear and plasma release and ideally there is also a special beta release of 
Framework done at the same time as the gear and  Plasma beta, which can be 
tested together with the other beta releases.

If Plasma decides to switch to a release every 6 months and Gear prefers to 
keep a shorter release cycle, then I would suggest using 3 months for gear so 
that we still have an unified released of framework, gear and plasma once every 
6 months. I'm less fan of this and if we have a very good reason to switch to 
a 6 months release cycle for Plasma, this argument should also apply to Gear.

> On Friday 19 April 2024 11:04:33 CEST Carl Schwan wrote:
> > 
> > * We end up with 3 different products which are released at different
> > times
> > but are connected together. Apps and Plasma both need Framework, Plasma
> > needs some packages from gear like kio-extra, Gear needs some package from
> > Plasma like Breeze. Coordinating all these inter-groups dependencies is
> > complex and was one the reason we had to do a megarelease for Plasma 6.
> > Also for the end user, one product is a lot easier to understand.
> 
> This is an engineering topic in this case.
> 
> And, to me, this is an excellent reason not to reunify release schedules!
> Because what it tells me is that we're still having dependency issues which
> need to be solved.
> 
> The example you give shows Plasma depending on Gear, this shouldn't happen,
> so I'd argue: let's fix that instead.
> 
> Aligning the release schedules would only hide such structural issues.
> 
> This was one of the main engineering motives to split things up: when it
> wasn't splitted this would stay hidden much longer everyone being comfy with
> it.
> 
> Now it's creating pain: perfect, that makes the issue obvious, but it should
> be addressed not masked.
> 
> This is in part what Volker highlighted pointing out this should be less of
> a problem with key components being moved to Plasma. Again, if there are
> more, let's just address them.
> 
> So as pointed out by Sune and Volker: this is a feature (at least in the
> Frameworks case) not a bug.

I'm been working a lot on the visual of applications across the whole stack 
and for me, the pain is mostly caused by the fact element of our styling are 
spread across the 3 releases: gear/plasma and framework. The megarelease has 
been tremendously helpful to get visual changes implemented consistently 
across the entire stack and I don't think this can be solved even with the 
best will.

Plasma holds Breeze which holds information about how our controls look like. 
There was discussion in the KF6 board to move breeze to be a framework but due 
to the license this is not possible (unless we change the definition of 
framework and allow GPL stuff).

Framework holds qqc2-desktop-style and breeze-icons as well as a lot of custom 
widgets frameworks like Kirigami, KWidgetsAddons, KConfigWidgets, KItemView, 
KXmlGui, ...

There are also a lot of libraries in gear which contains custom widgets (a lot 
in PIM but not only).

Apps themselves also contains a lot of design elements. This includes some 
custom widgets but also the general layout of the app and dialogs. This could 
be fixed by adding a lot more widgets in apps to KWidgetsAddons/Kirigami, but 
it doesn't always make sense as some widgets are super niche and don't belong 
to a Framework/library. Some examples from the recent redesign in the 
megarelease are the design of periodical table cell elements in Kalzium which 
previously followed the Oxygen guidelines and now is more Breeze looking. 
Another one is the layout of the Kate search and replace dock and a lot of 
other docks which had to be changed to have a more "frameless" look.

It won't solve the issue for extragear applications, but I don't want the 
search of a perfect solution for 100% of our apps prevent us to fix to improve 
the situation for at least a big chunk of them. Particularly since unifying 
the gear and plasma release, won't make the situation worse for the 

Re: Proposal unify back our release schedules

2024-04-22 Thread Nate Graham
Ok, so happily I actually see quite a bit of agreement here, regardless 
of what else we do.


1. Fibonacci bugfix releases are good, and we could benefit from having 
Gear adopt these.


2. Severing implicit dependencies is a good idea. Shared libraries in 
Gear are especially problematic and could benefit from being moved to 
Frameworks.


3. Fast frameworks releases in some capacity are a benefit and we don't 
want to lose this.



All in agreement? If so, that would be amazing.

---

Now, let's say we make Gear use Plasma's current release schedule by 
syncing up the feature releases and adopting the Fibonacci bugfix 
releases. If we don't end up changing Plasma's own release schedule then 
we already make our promo store more coherent by letting the marketing 
team do three big glossy announcements of user-facing products a year, 
rather than being stretched thin for 6. Even if we make Plasma go down 
to 2 releases a year, then we have two synced Gear+Plasma 
"mega-releases" and 2 independent Gear releases--down from 6 to 4. Both 
of these options would improve the promo story IMO.


---

Moving on, the biggest points of contention I see revolve around 
Frameworks. Personally I want to push back a bit on the idea of 
developing an app against released frameworks. This is only realistic if 
you use a rolling release distro and are okay with waiting a month to 
use the new Frameworks code. For users looking to contribute with common 
discrete-release distros, it is not at all realistic as many Frameworks 
consumers require versions newer than what those users have on their 
system, so they have to build some Frameworks anyway (note: not all of 
them; kdesrc-build/kde-builder are smart enough not to do unnecessary 
work). The older the distro's packages, the more likely this is to be.


Furthermore, because Frameworks has time-based releases and no beta 
releases, in practice the QA is provided by developers living on master. 
If KDE developers deliberately avoid this, they're not participating in 
QA. There are of course other ways to improve Frameworks' QA as well, 
but continuing to encourage KDE developers to use distro-packaged 
Frameworks goes against the larger goal: we can't QA software versions 
we're not using.


While 12 releases a year of Frameworks feels fast, it's actually not. 
Gear also has 12 releases a year: 3 feature releases and 9 bugfix 
releases. And Plasma currently gets 18: 3 feature releases and 15 bugfix 
releases. The lack of bugfix releases is notable. With Plasma if a major 
bug is discovered a day after the release (which is common) I can ship a 
fix within a week, whereas for Frameworks, it takes a month. This is not 
a theoretical problem; it has happened many times over the years.


To me it has always felt strange that the product that benefits most 
from stability gets 4 times as many yearly feature releases as Gear and 
Plasma, but no bugfix releases at all. And there have been many 
occasions oven the years where new features in Frameworks could have 
benefited from a bit more QA time in master before final release.


In this sense I find Frameworks' release schedule to be both too fast 
and too slow: too fast for new features and too slow for bugfixes. 
Shouldn't the product with the strongest stability guarantee ship 
bugfixes at least as fast as Plasma?


If Frameworks got a feature release every 2 or 3 months and a guaranteed 
bugfix release one week after each feature release, IMO the result would 
be much better. We could ship fixes for important bugs faster, 
developers would be more incentivized to live on master and therefore 
provide their own QA, the period of time during which issues with new 
features could be caught before release would be doubled or tripled, and 
we could even still have 12 total releases per year.


---

Thus, if we make Gear's release cycle identical to Plasma's to get it 
faster bugfixes, and then we also lengthen Frameworks' release cycle so 
it gets the bugfix releases it could benefit from while slowing down its 
feature releases to improve QA, then the result looks a lot like Carl's 
proposal, and that's ultimately why it looks appealing to me.


This doesn't preclude breaking implicit dependencies and relocating 
software into groups/release vehicles more suited for them. I don't find 
the argument convincing that we ought to deal with pain to make this 
happen. IMO we should make decisions about the final form we want, not 
based on what we think will torture us into getting there. :)


Nate


Re: Proposal unify back our release schedules

2024-04-22 Thread David Edmundson
>> in that event I'd like for us to put it
>> to a formal KDE e.V. vote


> Is this an eV topic?

Yes and no.

The original decision had a big impact, changing things again will
have a big impact. It's not something that should be decided by a few
people, nor is it something that should be decided or squashed by a
"who can talk for longest" on a mailing list.

Should it be discussed behind closed doors on the eV mailing list? No.
Is an eV vote the only way to get something that's fair and
representative and reach a binary conclusion? I can't think of
anything better

I think it's a resource we should use more often.

David


Re: Proposal unify back our release schedules

2024-04-21 Thread Volker Krause
On Sunday, 21 April 2024 00:37:03 CEST Ben Cooksley wrote:
> On Sun, Apr 21, 2024 at 1:51 AM Kevin Ottens  wrote:
> > Hello,
> > 
> > On Saturday 20 April 2024 15:12:48 CEST Ingo Klöcker wrote:
> > > On Freitag, 19. April 2024 22:40:38 CEST Ben Cooksley wrote:
> > > > On Sat, Apr 20, 2024 at 4:39 AM Kevin Ottens  wrote:
> > > > > The example you give shows Plasma depending on Gear, this shouldn't
> > > > > happen, so
> > > > > I'd argue: let's fix that instead.
> > > 
> > > In my opinion the same goes for Gear depending on Plasma.
> > 
> > Agreed, just didn't want to muddy my message and so focused on only one
> > direction. But it's definitely a topic to explore as well.
> > 
> > One thing I'm unsure for instance is: do we want to make Gear -> Plasma
> > dependencies completely forbidden?
> > 
> > We might consider this going one step too far. I could understand if a
> > Gear
> > app wants to provide "more integration" in a Plasma session. So mandatory
> > Gear
> > -> Plasma dependencies, I agree are to forbid, but optional ones? I'm less
> > certain.
> 
> I've considered whether it was feasible to ban such dependencies in the
> past, however always ended up in the position that it wasn't feasible to do
> so.
> This will require a degree of projects being moved around, code being
> broken out into separate modules, etc. but I think it is solvable given
> enough commitment to do so.
> 
> We probably need a home for "not quite Frameworks but shared libraries none
> the less" to make this achievable.
> 
> The usual tripping points ended up being:
> - Various graphics and multimedia libraries such as libkdcraw, libkexiv2,
> etc
> - Various PIM libraries, often related to Akonadi integration for Workspace

One approach to solve that is/was to actually turn those into frameworks. A 
bunch of PIM libraries were moved over time (KContacts, KCalendarCore, KDAV, 
etc) already. More were lined up, the KF6 transition just put a pause on that, 
but e.g. KMime not too long ago received a bunch of API fixes in preparation 
for this.

However, before continuing down that road I'd like to see a decision on the KF 
release schedule first now. With a much longer release cycle this becomes a lot 
less interesting to do.

Regards,
Volker

signature.asc
Description: This is a digitally signed message part.


Re: Proposal unify back our release schedules

2024-04-20 Thread Ben Cooksley
On Sun, Apr 21, 2024 at 1:51 AM Kevin Ottens  wrote:

> Hello,
>
> On Saturday 20 April 2024 15:12:48 CEST Ingo Klöcker wrote:
> > On Freitag, 19. April 2024 22:40:38 CEST Ben Cooksley wrote:
> > > On Sat, Apr 20, 2024 at 4:39 AM Kevin Ottens  wrote:
> > > > The example you give shows Plasma depending on Gear, this shouldn't
> > > > happen, so
> > > > I'd argue: let's fix that instead.
> >
> > In my opinion the same goes for Gear depending on Plasma.
>
> Agreed, just didn't want to muddy my message and so focused on only one
> direction. But it's definitely a topic to explore as well.
>
> One thing I'm unsure for instance is: do we want to make Gear -> Plasma
> dependencies completely forbidden?
>
> We might consider this going one step too far. I could understand if a
> Gear
> app wants to provide "more integration" in a Plasma session. So mandatory
> Gear
> -> Plasma dependencies, I agree are to forbid, but optional ones? I'm less
> certain.
>

I've considered whether it was feasible to ban such dependencies in the
past, however always ended up in the position that it wasn't feasible to do
so.
This will require a degree of projects being moved around, code being
broken out into separate modules, etc. but I think it is solvable given
enough commitment to do so.

We probably need a home for "not quite Frameworks but shared libraries none
the less" to make this achievable.

The usual tripping points ended up being:
- Various graphics and multimedia libraries such as libkdcraw, libkexiv2,
etc
- Various PIM libraries, often related to Akonadi integration for Workspace
- Components of Workspace that were sitting over in Gear, such as Baloo
(which shouldn't be used anywhere outside Plasma - yet is heavily
integrated in Dolphin, which arguably really belongs in Plasma not Gear as
well)
- Applications that published components and libraries that were reusable
by others such as Marble, Kompare and Okteta.
- Addon collections that due to shared D-Bus interfaces ended up being both
build and runtime dependencies (less so now, but kio-extras sits in this
territory to a certain extent)
- Components of Workspace, such as KSysguard that provide libraries whose
functionality is used

I'm not sure where KWin sits these days, but it's hard (and I mean very
hard) dependency on KWindowSystem within Frameworks was a source of quite a
bit of trouble in the past.
Dolphin is a serial offender in the same department when it comes to KIO -
it has a similarly hard dependency.


>
> > > > > * We currently don't have a stable branch for Framework and it
> takes
> > > > > often
> > > > > up to one month for fixes to be deployed. The Framework releases is
> > > > > also
> > > > > not in sync with either Gear nor Plasma while these two modules
> > > > > heavily
> > > > > make use of Framework and contribute to Framework.
> > >
> > > Changing the Frameworks release cadence away from monthly isn't going
> to
> > > get fixes out any faster - as if you are using distribution packages it
> > > still has to be packaged.
> > > If anything it will make them take longer as the Frameworks release
> would
> > > end up being every couple of months instead of monthly? (you can always
> > > build Frameworks locally if you need the fixes now)
> >
> > For (non-rolling) distributions that update packages on patch releases
> but
> > not on minor releases it would make a difference if there where patch
> > releases of Frameworks. Not all distributions can follow and backport
> > important fixes in Frameworks. At worst, users will have to suffer a bug
> in
> > Frameworks until the next LTS release.
> >
> > Regards,
> > Ingo
> --
> Kevin Ottens, http://ervin.ipsquad.net
>
> enioka Haute Couture - proud supporting member of KDE
> https://hc.enioka.com/en


Cheers,
Ben


Re: Proposal unify back our release schedules

2024-04-20 Thread Valorie Zimmerman
On Fri, Apr 19, 2024 at 9:39 AM Kevin Ottens  wrote:

> Hello,
>
> ::most history snipped::
>


> And then have a single big marketing
> announcement for a Plasma x.y.2 per year with its own marketing name.
>
> ::snip::
>


> > * Only have one release announcement on our website. We can call it
> > Megarelease 6.XX like we did for Plasma 6/Gear 24.02 or find a better
> name.
> > I would avoid reusing Software Collection first because the name is quite
> > technical and second because these was already used in the past.
>
> Sure, why not. This is not engineering I'm less opinionated about it.
> Apart
> from decoupling more between engineering effort and marketing
> announcements
> that is.
>
> Maybe reconsider the "Megarelease" term though... I've literally been
> laughed
> at for the use of that term outside of our community. Also, I think it was
> a
> fine term for a one off when moving on a major new version of Qt, but
> it'll
> get old quickly for the "business as usual".
>

I suggest that if we move to do any sort of more infrequent "mega releases"
we call it KDE Community Software Release or similar. "KDE" is shorthand
for our community, after all; why not spell it out.

Valorie

>
> Again no strong opinion there, but I thought I'd mention what I've seen
> around
> me.
>
> Regards.
> --
> Kevin Ottens, http://ervin.ipsquad.net
>
> enioka Haute Couture - proud supporting member of KDE
> https://hc.enioka.com/en



-- 
she/her. "Dwell on the beauty of life. Watch the stars, and see yourself
running with them." - Marcus Aurelius


Re: Proposal unify back our release schedules

2024-04-20 Thread Alexander Neundorf
On Freitag, 19. April 2024 22:51:55 CEST Jakob Petsovits wrote:
...
> all KF dependencies from source. Now that all the megarelease is out, we
> might want to consider relying on distro packages for KF6 by default, in
> the same way that Qt is not built by default either. This would underscore
> the nature of Plasma and Gear master relying on released KF, and save some
> wasted energy for people who aren't contributing to KF.

Oh yes.
As a from-time-to-time a-little-bit contributor, it makes things so much 
easier if I can build an application against the KF which comes with my distro 
(compared to having to build everything).

Alex





Re: Proposal unify back our release schedules

2024-04-20 Thread Kevin Ottens
Hello,

On Saturday 20 April 2024 15:12:48 CEST Ingo Klöcker wrote:
> On Freitag, 19. April 2024 22:40:38 CEST Ben Cooksley wrote:
> > On Sat, Apr 20, 2024 at 4:39 AM Kevin Ottens  wrote:
> > > The example you give shows Plasma depending on Gear, this shouldn't
> > > happen, so
> > > I'd argue: let's fix that instead.
> 
> In my opinion the same goes for Gear depending on Plasma.

Agreed, just didn't want to muddy my message and so focused on only one 
direction. But it's definitely a topic to explore as well.

One thing I'm unsure for instance is: do we want to make Gear -> Plasma 
dependencies completely forbidden?

We might consider this going one step too far. I could understand if a Gear 
app wants to provide "more integration" in a Plasma session. So mandatory Gear 
-> Plasma dependencies, I agree are to forbid, but optional ones? I'm less 
certain.

> > > > * We currently don't have a stable branch for Framework and it takes
> > > > often
> > > > up to one month for fixes to be deployed. The Framework releases is
> > > > also
> > > > not in sync with either Gear nor Plasma while these two modules
> > > > heavily
> > > > make use of Framework and contribute to Framework.
> > 
> > Changing the Frameworks release cadence away from monthly isn't going to
> > get fixes out any faster - as if you are using distribution packages it
> > still has to be packaged.
> > If anything it will make them take longer as the Frameworks release would
> > end up being every couple of months instead of monthly? (you can always
> > build Frameworks locally if you need the fixes now)
> 
> For (non-rolling) distributions that update packages on patch releases but
> not on minor releases it would make a difference if there where patch
> releases of Frameworks. Not all distributions can follow and backport
> important fixes in Frameworks. At worst, users will have to suffer a bug in
> Frameworks until the next LTS release.
> 
> Regards,
> Ingo
-- 
Kevin Ottens, http://ervin.ipsquad.net

enioka Haute Couture - proud supporting member of KDE
https://hc.enioka.com/en

signature.asc
Description: This is a digitally signed message part.


Re: Proposal unify back our release schedules

2024-04-20 Thread Ingo Klöcker
On Freitag, 19. April 2024 22:40:38 CEST Ben Cooksley wrote:
> On Sat, Apr 20, 2024 at 4:39 AM Kevin Ottens  wrote:
> > The example you give shows Plasma depending on Gear, this shouldn't
> > happen, so
> > I'd argue: let's fix that instead.

In my opinion the same goes for Gear depending on Plasma.

> > > * We currently don't have a stable branch for Framework and it takes
> > > often
> > > up to one month for fixes to be deployed. The Framework releases is also
> > > not in sync with either Gear nor Plasma while these two modules heavily
> > > make use of Framework and contribute to Framework.
> 
> Changing the Frameworks release cadence away from monthly isn't going to
> get fixes out any faster - as if you are using distribution packages it
> still has to be packaged.
> If anything it will make them take longer as the Frameworks release would
> end up being every couple of months instead of monthly? (you can always
> build Frameworks locally if you need the fixes now)

For (non-rolling) distributions that update packages on patch releases but not 
on minor releases it would make a difference if there where patch releases of 
Frameworks. Not all distributions can follow and backport important fixes in 
Frameworks. At worst, users will have to suffer a bug in Frameworks until the 
next LTS release.

Regards,
Ingo

signature.asc
Description: This is a digitally signed message part.


Re: Proposal unify back our release schedules

2024-04-20 Thread Ingo Klöcker
On Freitag, 19. April 2024 14:26:45 CEST Sune Vuorela wrote:
> It might make sense for plasma and gear to follow the same schedule. But
> I really like what we have going with frameworks.
> 
> One issue that leads to the 'frameworks stable, release monthly' was
> that sometimes, even often, you need to add a *feature* to a framework
> to address a *bug* in an application.
> 
> If you can't relatively quickly start requiring the fixed framework, you
> end up working around it in the application and forget fixing it in the
> framework.

I don't follow. How does a quicker Frameworks release cycle helps with this? 
Do you want to bump the Frameworks requirement in a patch release of the app 
to get the fix into the patch release?

Regards,
Ingo

signature.asc
Description: This is a digitally signed message part.


Re: Proposal unify back our release schedules

2024-04-20 Thread Björn Strömberg
i know quite a few have responded to this, but as the big warning on this,
the fact that the three parts cant be released independently, is a big
warning flag that a overhaul is needed of the overlapping architecture.

i know this is a big issue, and the bigger the project, the bigger the
workload. i saw someone was starting on a tool to graph architecture wise
at https://invent.kde.org/sdk/codevis , its still in development,
but i think this will highlight where the issue pinpoints are, break the
cycles, and levelize everything. when stuff actually is decoupled, the
frameworks would even be able to do staggered/piped deploys and the whole
dev team would have less stress..

doing 3 releases a year or doing 12+ smaller ones, deploying from the base
and going up, anything that depends on other parts will have to wait and
since they still work against the last stable the friction will be less.

i kept an eye on the mega release 6, and if that is viewed as a success i
guess we got very different views on successes, from the mailing list it
looked like at best organized chaos.


On Fri, Apr 19, 2024 at 1:32 PM Carl Schwan  wrote:

> Hello Community,
>
> I know this might be a controversial idea, but I would like to propose
> reunify
> our release schedules. I feel like splitting our releases schedules between
> Frameworks, Plasma and Gear is not working as well as we intended it to be
> when
> we split the releases schedules for Plasma 5. This is for multiple reasons:
>
> * We end up with 3 different products which are released at different
> times but
>   are connected together. Apps and Plasma both need Framework, Plasma
> needs some
>   packages from gear like kio-extra, Gear needs some package from Plasma
> like
>   Breeze. Coordinating all these inter-groups dependencies is complex and
> was one
>   the reason we had to do a megarelease for Plasma 6. Also for the end
> user, one
>   product is a lot easier to understand.
>

here is a architecture bug list, the fact that there are circles like this
is what needs to be dealt with before even thinking of feature development,
its boring, and it will break stuff, but better take the bull by the horns
and deal with it..


> * This results in very frequent releases which creates a lot of work for
> distros
>   and talking with some distro maintainers they seems to agree that having
> a big
>   releases every 4 months is better than having constantly a new minor or
> major
>   release from either Framework, Gear or Plasma.
>

a stable release should support a known set say last 3 major releases for
example. (this i due to the versioning scheme yy.mm counted as a major,
then patches are the minors..)
the released code used by downstream its the open source value chain..
'master' is just work in progress until its released.
distros themselves have the same issue with bad architecture, so to lessen
their burden with dealing with broken stuff upstream they rather take a big
release 'block' then a smaller one, its just a massive monolith they deploy
then.

big changes are always more risky then small ones.. problem is that
features are more fun than doing maintenance on old stuff..


* We currently don't have a stable branch for Framework and it takes often
> up to
>   one month for fixes to be deployed. The Framework releases is also not
> in sync
>   with either Gear nor Plasma while these two modules heavily make use of
> Framework
>   and contribute to Framework.
>

perfect candidate for automation.. deployment really should be automated,
either by bots or other means.

* We could have an unified LTS release including more than just Plasma.
> This is
>   something that distros have been asking for some time already because
> having
>   just Plasma receiving bug-fixes but not Framework nor the apps is not
> that helpful.
>

i personally would prefer two release ways one feature release and one long
term stable release, but this adds burden on the whole organization so i
know its currently a utopia dream.
mostly since KDE would have to do the Qt lts releases too since without a
'upstream' open source Qt LTS a KDE LTS  is pretty useless since the
dependency will have a lot faster churn than the dependency,
its supposed to be the other way around.. the base is stable, the features
and the churn happens a lot higher up in the structure.


> * In term of promotion, it is very difficult to advertise the 3 releases
> because
>   combined we have an important release of either Gear, Plasma or
> Framework every
>   few weeks. This is too frequent and often while a combined announcement
> would
>   have enough content to be published in a tech newspaper. When splitting
> the content
>   accross 2 announcements (Gear and Plasma), we reduce the content per
>   announcement and this makes it less interesting for the journalists to
> write
>   about us. This doesn't come from me, this is that some journalists
> directly
>   told me.
>

this is not in my wheelhouse but i guess 

Re: Proposal unify back our release schedules

2024-04-20 Thread Jakob Petsovits
Others have made convincing arguments for not tying the projects together from 
an engineering point of view, which I find easy to agree with. I also like the 
current monthly KF schedule in that it allows me to submit MRs early on in a 
Plasma development cycle and use them in Plasma shortly afterwards. If KF 
release cycles were longer, there would be more of an incentive to just stick 
everything into a common library within Plasma directly, which doesn't benefit 
as many people.

What could also help with proper isolation of components is a change in build 
system defaults. If I call kdesrc-build today with --include-dependencies for 
any Plasma or Gear app, by default it will build all KF dependencies from 
source. Now that all the megarelease is out, we might want to consider relying 
on distro packages for KF6 by default, in the same way that Qt is not built by 
default either. This would underscore the nature of Plasma and Gear master 
relying on released KF, and save some wasted energy for people who aren't 
contributing to KF.

But I also wanted to emphasize that we're actually that far off from the 
marketing aim either. Aligned releases are still very doable without forcing 
everyone into a "live at HEAD" model. Neal's suggestion deserves a closer look 
imho:

On Fri, Apr 19, 2024, at 11:50 AM, Neal Gompa wrote:
> One way I think that would work well would be to realign the schedules
> so that when Plasma shifts to semi-annual releases, Frameworks and
> Gear would be re-aligned so that there *would* be a release that lines
> up with it. That doesn't mean both can't continue to have more
> releases separately, but having a release that lines up for Plasma
> would help things considerably.
>
> The monthly release of KDE Frameworks has its downsides, and I think
> in one conversation elsewhere, I suggested that KF moves to a
> quarterly release cadence, where two of the releases line up with
> Plasma to become MegaReleases. Gear already releases three times a
> year, and switching to four times might not be so bad.
>
> But even if KF doesn't change and remains monthly, then it still can work.

This would mean:

KF: every month
Gear: every 3 months
Plasma: every 6 months

With Gear and Plasma aligning for a semi-yearly release. Stand-alone Gear 
releases get their extra announcement when the full Plasma+Gear announcement is 
far into the past and future, with no promo timing conflicts to worry about.

Honestly I don't think that KF even needs to be aligned at all if it sticks to 
monthly: Assuming an expanded QA/beta/bugfix period (at least 4-6 weeks?) that 
the longer 6-month cycle surely deserves, any KF fixes from the beta period 
will either get released before Plasma is even out, or very soon after.

Perhaps an extra patch-level release of KF can be inserted around the time of 
Plasma's .0 if an important fix is needed fast. Switching KF from monthly to 
semi-yearly seems overkill if we just need to get post-release fixes out a 
little sooner.

- Jakob


Re: Proposal unify back our release schedules

2024-04-20 Thread Neal Gompa
On Fri, Apr 19, 2024 at 11:35 AM Volker Krause  wrote:
>
> On Freitag, 19. April 2024 11:04:33 CEST Carl Schwan wrote:
> > * We currently don't have a stable branch for Framework and it takes often
> > up to one month for fixes to be deployed. The Framework releases is also
> > not in sync with either Gear nor Plasma while these two modules heavily
> > make use of Framework and contribute to Framework.
>
> The fast feature-releases of KF have major advantages though, comparing to how
> things worked prior to 5. They allow apps to work against released (and thus
> distro-packaged) frameworks while still making it practical to contribute
> needed features to KF directly.
>
> The alternatives are:
> * Depend on KF master (like Plasma does), significantly increasing the
> threshold of entry for new contributors, especially for more self-contained
> apps, where you'd now have to build 70+ repos rather than a few.
> * Depend on the latest release but develop new features locally rather than in
> KF. I'm not sure whether we have meanwhile finally cleaned up all the forked
> kdelibs classes in PIM from the 3 and 4 era due to that.
> * Depend on the latest release and wait for new features to become available
> before making use of them in the app, effectively increasing the delay to 
> reach
> users to twice the release cycle.
>
> Ie. this makes contributing to KF less attractive from an app developer
> perspective.
>
>
> The main issues with out-of-sync KF and Plasma should have been solved with
> some frameworks being moved to Plasma with KF6, if there is more of this
> remaining we should look at the specific cases, for the vast majority of
> frameworks I don't think we have a problem there.
>
> > * Helps with outside usage of our frameworks. These didn't get as much
> > success as we were hoping when splitting. I think having a stable branch
> > for Framework might help but this is only a guess. It would be interesting
> > to know of cases where people considered using some Framework and to know
> > why they decided against or for it and if this proposal would helps or not.
>
> I disagree with the often repeated statement that this wasn't successful. It
> might not happened as widely and visibly as we might want, but KF is most
> certainly used vastly more often than kdelibs ever was. And the release
> schedule isn't the impediment here, it's things like dependencies and the
> build system making it hard to vendor copies.
>
> > In effect this proposal would mean:
> >
> > * We do one major release every 4 months and then minor releases with a
> > frequency based on the Fibonacci numbers as this releases cycle works very
> > well for Plasma. Naming could be either YY.MM or Major.Minor.Path. We could
> > unify that for one or the other one. Or let each component keep their
> > current versioning scheme depending whether we want to merge Plama and Gear
> > as product or keep it separate. I'm a bit undecided about this.
>
> From my app developer perspective that is fine, Fibonacci rather than
> equidistant patch releases look like an improvement to me. However, assuming
> the feature release interval basically remains the same.
>
> AFAIK Plasma is discussing a 6 month interval though, and I do understand
> longer cycles are better for promo, but it means users have to wait longer for
> features. It therefore also matters whether we are tying Plasma's release to
> Gear or Gear's releases to Plasma here.
>
> > * "KDE Framework" will still exists as an entity and its ABI and API
> >   compatibility requirement. Only change is the release frequency and the
> > introduction of a stable branch in sync with the other components.
>
> That part I'm against for the above mentioned reasons, KF's release frequency
> is a major feature of it.
>

As a distribution, I found it tremendously helpful to integrate and
qualify the MegaRelease. That doesn't mean that we need *every*
release of KF and Gear to be MegaReleases.

One way I think that would work well would be to realign the schedules
so that when Plasma shifts to semi-annual releases, Frameworks and
Gear would be re-aligned so that there *would* be a release that lines
up with it. That doesn't mean both can't continue to have more
releases separately, but having a release that lines up for Plasma
would help things considerably.

The monthly release of KDE Frameworks has its downsides, and I think
in one conversation elsewhere, I suggested that KF moves to a
quarterly release cadence, where two of the releases line up with
Plasma to become MegaReleases. Gear already releases three times a
year, and switching to four times might not be so bad.

But even if KF doesn't change and remains monthly, then it still can work.


-- 
真実はいつも一つ!/ Always, there's only one truth!


Re: Proposal unify back our release schedules

2024-04-19 Thread Ben Cooksley
On Sat, Apr 20, 2024 at 4:39 AM Kevin Ottens  wrote:

> Hello,
>

Hi all,


>
> Unsurprisingly I'll be pretty much aligned with Luigi, Sune and Volker
> here I
> think. I'll try to add a couple of extra aspects to feed the thinking on
> this
> topic.


> On Friday 19 April 2024 11:04:33 CEST Carl Schwan wrote:
> > I know this might be a controversial idea, but I would like to propose
> > reunify our release schedules. I feel like splitting our releases
> schedules
> > between Frameworks, Plasma and Gear is not working as well as we intended
> > it to be when we split the releases schedules for Plasma 5. This is for
> > multiple reasons:
> >
> > * We end up with 3 different products which are released at different
> times
> > but are connected together. Apps and Plasma both need Framework, Plasma
> > needs some packages from gear like kio-extra, Gear needs some package
> from
> > Plasma like Breeze. Coordinating all these inter-groups dependencies is
> > complex and was one the reason we had to do a megarelease for Plasma 6.
> > Also for the end user, one product is a lot easier to understand.
>
> This is an engineering topic in this case.
>
> And, to me, this is an excellent reason not to reunify release schedules!
> Because what it tells me is that we're still having dependency issues
> which
> need to be solved.
>
> The example you give shows Plasma depending on Gear, this shouldn't
> happen, so
> I'd argue: let's fix that instead.
>

Further cutting these links would be quite beneficial from a CI
perspective, so i'm definitely in favour of this.
Some of the most complicated bits of maintaining the system involve the
interconnections between Gear / Plasma / Independent.

Unfortunately libplasma / kpipewire / plasma-activities will be fairly hard
to avoid if you're targeting certain types of integration.


>
> Aligning the release schedules would only hide such structural issues.
>
> This was one of the main engineering motives to split things up: when it
> wasn't splitted this would stay hidden much longer everyone being comfy
> with
> it.
>
> Now it's creating pain: perfect, that makes the issue obvious, but it
> should
> be addressed not masked.
>
> This is in part what Volker highlighted pointing out this should be less
> of a
> problem with key components being moved to Plasma. Again, if there are
> more,
> let's just address them.
>
> So as pointed out by Sune and Volker: this is a feature (at least in the
> Frameworks case) not a bug.
>
> > * This results in very frequent releases which creates a lot of work for
> > distros and talking with some distro maintainers they seems to agree that
> > having a big releases every 4 months is better than having constantly a
> new
> > minor or major release from either Framework, Gear or Plasma.
>
> This is a downstream relationship topic in this case.
>
> I'm honestly unsure where the problem is though. They could decide to pick
> a
> set of version for the three and focus on that. They don't have and never
> had
> to package every single version of KDE Frameworks.
>
> That being said it indicates to me that we're not good at communicating
> which
> KDE Frameworks version a given Plasma or Gear release targets. More
> coordination and communication here would make sense.


> > * We currently don't have a stable branch for Framework and it takes
> often
> > up to one month for fixes to be deployed. The Framework releases is also
> > not in sync with either Gear nor Plasma while these two modules heavily
> > make use of Framework and contribute to Framework.
>

Changing the Frameworks release cadence away from monthly isn't going to
get fixes out any faster - as if you are using distribution packages it
still has to be packaged.
If anything it will make them take longer as the Frameworks release would
end up being every couple of months instead of monthly? (you can always
build Frameworks locally if you need the fixes now)

I should note that due to a combination of Gitlab configuration and various
projects essentially having a hard dependency on Frameworks master (Plasma,
Dolphin, looking at both of you) the CI system always supplies Frameworks
master regardless of what is being built (the Gitlab configuration is
fixable, but there isn't much motivation to do so when it will just cause
issues and not be used)


>
> This is a QA and testing topic in this case.
>
> The intent is that master is the stable branch (as Luigi pointed out). If
> it's
> not stable in practice we're failing on testing on QA. So extra automated
> tests, more QA and so on should be provided. Yes this is work but it has a
> chance of increasing quality, changing the release cadence won't do
> anything
> about it.


> > * We could have an unified LTS release including more than just Plasma.
> This
> > is something that distros have been asking for some time already because
> > having just Plasma receiving bug-fixes but not Framework nor the apps is
> > not that helpful.
>
> This is a 

Re: Proposal unify back our release schedules

2024-04-19 Thread Kevin Ottens
Hello,

Wished to react to a point in there. :-)

On Friday 19 April 2024 17:33:02 CEST Volker Krause wrote:
> On Freitag, 19. April 2024 11:04:33 CEST Carl Schwan wrote:
> > * We currently don't have a stable branch for Framework and it takes often
> > up to one month for fixes to be deployed. The Framework releases is also
> > not in sync with either Gear nor Plasma while these two modules heavily
> > make use of Framework and contribute to Framework.
> 
> The fast feature-releases of KF have major advantages though, comparing to
> how things worked prior to 5. They allow apps to work against released (and
> thus distro-packaged) frameworks while still making it practical to
> contribute needed features to KF directly.
> 
> The alternatives are:
> * Depend on KF master (like Plasma does), significantly increasing the
> threshold of entry for new contributors, especially for more self-contained
> apps, where you'd now have to build 70+ repos rather than a few.
> * Depend on the latest release but develop new features locally rather than
> in KF. I'm not sure whether we have meanwhile finally cleaned up all the
> forked kdelibs classes in PIM from the 3 and 4 era due to that.
> * Depend on the latest release and wait for new features to become available
> before making use of them in the app, effectively increasing the delay to
> reach users to twice the release cycle.
> 
> Ie. this makes contributing to KF less attractive from an app developer
> perspective.
> 
> 
> The main issues with out-of-sync KF and Plasma should have been solved with
> some frameworks being moved to Plasma with KF6, if there is more of this
> remaining we should look at the specific cases, for the vast majority of
> frameworks I don't think we have a problem there.
> 
> > * Helps with outside usage of our frameworks. These didn't get as much
> > success as we were hoping when splitting. I think having a stable branch
> > for Framework might help but this is only a guess. It would be interesting
> > to know of cases where people considered using some Framework and to know
> > why they decided against or for it and if this proposal would helps or
> > not.
> 
> I disagree with the often repeated statement that this wasn't successful. It
> might not happened as widely and visibly as we might want, but KF is most
> certainly used vastly more often than kdelibs ever was. And the release
> schedule isn't the impediment here, it's things like dependencies and the
> build system making it hard to vendor copies.
> 
> > In effect this proposal would mean:
> > 
> > * We do one major release every 4 months and then minor releases with a
> > frequency based on the Fibonacci numbers as this releases cycle works very
> > well for Plasma. Naming could be either YY.MM or Major.Minor.Path. We
> > could
> > unify that for one or the other one. Or let each component keep their
> > current versioning scheme depending whether we want to merge Plama and
> > Gear
> > as product or keep it separate. I'm a bit undecided about this.
> 
> From my app developer perspective that is fine, Fibonacci rather than
> equidistant patch releases look like an improvement to me. However, assuming
> the feature release interval basically remains the same.
> 
> AFAIK Plasma is discussing a 6 month interval though, and I do understand
> longer cycles are better for promo, but it means users have to wait longer
> for features. It therefore also matters whether we are tying Plasma's
> release to Gear or Gear's releases to Plasma here.

Users waiting longer for features is not necessarily a bad thing though. One 
of the potential advantages is extra QA time, I assume people are happy to 
wait if there are less rough edges.

Now if we assume the longer cycle don't lead to more QA, this becomes a 
balancing act... the burden on the users to discover and assimilate new 
features is real. So it's a bit of a trade-off between dropping a larger set 
of features on them increasing the chance of such features not being noticed, 
or pushing less features towards the user at higher frequency which is 
potentially higher cognitive load (they more likely to notice them all and be 
in a constant "learning new stuff" and "adapting to change" loop).

> > * "KDE Framework" will still exists as an entity and its ABI and API
> > 
> >   compatibility requirement. Only change is the release frequency and the
> > 
> > introduction of a stable branch in sync with the other components.
> 
> That part I'm against for the above mentioned reasons, KF's release
> frequency is a major feature of it.

Regards.
-- 
Kevin Ottens, http://ervin.ipsquad.net

enioka Haute Couture - proud supporting member of KDE
https://hc.enioka.com/en

signature.asc
Description: This is a digitally signed message part.


Re: Proposal unify back our release schedules

2024-04-19 Thread Kevin Ottens
Hello,

On Friday 19 April 2024 14:03:01 CEST Luigi Toscano wrote:
> Nate Graham ha scritto:
> > I expect a vast amount of discussion to result from this proposal, and I
> > think that's great. It'll be good to talk about it. But I suspect in the
> > end we'll likely not achieve 100% consensus, and in that event I'd like
> > for us to put it to a formal KDE e.V. vote so that the topic doesn't
> > become stale and die after everyone's exhausted from a long discussion.
> 
> Is this an eV topic?

I guess it was rhetorical in which case I'll humor you: no, it's not an e.V. 
topic.

On a more serious tone: I'm actually concerned about such an early mention of 
an e.V. vote. This is the wrong tool and forum for this discussion.

Also, I don't see the need to assume what early that it'll lead to "everyone's 
exhausted from a long discussion". 

This assumption and the mention of a vote is IMHO setting the stage for the 
conversation to get out of hand before any indication that it otherwise 
would... a bit like a self fulfilling prophecy unfortunately. I hope we won't 
collectively walk into it.

I'd be more optimistic as despite initial push backs I see ways for a quick 
consensus to emerge on something different than the initial proposal.

Anyway, if it would get out of hand nonetheless (I could be wrong and too 
optimistic after all), I'd propose to have a volunteer and *neutral* 
facilitator talking independently to the various parties and producing a final 
proposal with high chances of consensus reaching. A bit like we did at the 
time of the production of the KDE Manifesto.

Note I wouldn't volunteer because obviously I got some more skin in the game 
this time and already engaged in the conversation. So if you're someone who 
didn't reply to this thread and have no strong opinion about the topic: keep 
monitoring that thread and maybe evaluate volunteering to facilitate if we 
start throwing mud at each other. ;-)

Regards.
-- 
Kevin Ottens, http://ervin.ipsquad.net

enioka Haute Couture - proud supporting member of KDE
https://hc.enioka.com/en

signature.asc
Description: This is a digitally signed message part.


Re: Proposal unify back our release schedules

2024-04-19 Thread Kevin Ottens
Hello,

Unsurprisingly I'll be pretty much aligned with Luigi, Sune and Volker here I 
think. I'll try to add a couple of extra aspects to feed the thinking on this 
topic.

On Friday 19 April 2024 11:04:33 CEST Carl Schwan wrote:
> I know this might be a controversial idea, but I would like to propose
> reunify our release schedules. I feel like splitting our releases schedules
> between Frameworks, Plasma and Gear is not working as well as we intended
> it to be when we split the releases schedules for Plasma 5. This is for
> multiple reasons:
> 
> * We end up with 3 different products which are released at different times
> but are connected together. Apps and Plasma both need Framework, Plasma
> needs some packages from gear like kio-extra, Gear needs some package from
> Plasma like Breeze. Coordinating all these inter-groups dependencies is
> complex and was one the reason we had to do a megarelease for Plasma 6.
> Also for the end user, one product is a lot easier to understand.

This is an engineering topic in this case.

And, to me, this is an excellent reason not to reunify release schedules! 
Because what it tells me is that we're still having dependency issues which 
need to be solved.

The example you give shows Plasma depending on Gear, this shouldn't happen, so 
I'd argue: let's fix that instead.

Aligning the release schedules would only hide such structural issues.

This was one of the main engineering motives to split things up: when it 
wasn't splitted this would stay hidden much longer everyone being comfy with 
it.

Now it's creating pain: perfect, that makes the issue obvious, but it should 
be addressed not masked.

This is in part what Volker highlighted pointing out this should be less of a 
problem with key components being moved to Plasma. Again, if there are more, 
let's just address them.

So as pointed out by Sune and Volker: this is a feature (at least in the 
Frameworks case) not a bug.

> * This results in very frequent releases which creates a lot of work for
> distros and talking with some distro maintainers they seems to agree that
> having a big releases every 4 months is better than having constantly a new
> minor or major release from either Framework, Gear or Plasma.

This is a downstream relationship topic in this case.

I'm honestly unsure where the problem is though. They could decide to pick a 
set of version for the three and focus on that. They don't have and never had 
to package every single version of KDE Frameworks.

That being said it indicates to me that we're not good at communicating which 
KDE Frameworks version a given Plasma or Gear release targets. More 
coordination and communication here would make sense.

> * We currently don't have a stable branch for Framework and it takes often
> up to one month for fixes to be deployed. The Framework releases is also
> not in sync with either Gear nor Plasma while these two modules heavily
> make use of Framework and contribute to Framework.

This is a QA and testing topic in this case.

The intent is that master is the stable branch (as Luigi pointed out). If it's 
not stable in practice we're failing on testing on QA. So extra automated 
tests, more QA and so on should be provided. Yes this is work but it has a 
chance of increasing quality, changing the release cadence won't do anything 
about it.

> * We could have an unified LTS release including more than just Plasma. This
> is something that distros have been asking for some time already because
> having just Plasma receiving bug-fixes but not Framework nor the apps is
> not that helpful.

This is a downstream relationship topic in this case.

I'm not sure we need to go full steam on the LTS promise though. See above: 
better communication about the expected and QA'd versions of KDE Frameworks 
needed by Plasma for instance might be enough.

> * In term of promotion, it is very difficult to advertise the 3 releases
> because combined we have an important release of either Gear, Plasma or
> Framework every few weeks. This is too frequent and often while a combined
> announcement would have enough content to be published in a tech newspaper.
> When splitting the content accross 2 announcements (Gear and Plasma), we
> reduce the content per announcement and this makes it less interesting for
> the journalists to write about us. This doesn't come from me, this is that
> some journalists directly told me.

This is a marketing topic in this case.

I've never been really involved in the KDE marketing effort. Still, looking 
back at it years after I joined the community, and knowing what I know 
nowadays from seeing other projects and products, one thing which surprises me 
is that we're still on the mindset of hard coupling engineering releases and 
marketing announcements.

I think we passed the point where it was viable a long time ago.

I honestly wouldn't be shocked if there were engineering releases of KDE 
Frameworks and those would have just a 

Re: Proposal unify back our release schedules

2024-04-19 Thread Volker Krause
On Freitag, 19. April 2024 11:04:33 CEST Carl Schwan wrote:
> * We currently don't have a stable branch for Framework and it takes often
> up to one month for fixes to be deployed. The Framework releases is also
> not in sync with either Gear nor Plasma while these two modules heavily
> make use of Framework and contribute to Framework.

The fast feature-releases of KF have major advantages though, comparing to how 
things worked prior to 5. They allow apps to work against released (and thus 
distro-packaged) frameworks while still making it practical to contribute 
needed features to KF directly.

The alternatives are:
* Depend on KF master (like Plasma does), significantly increasing the 
threshold of entry for new contributors, especially for more self-contained 
apps, where you'd now have to build 70+ repos rather than a few.
* Depend on the latest release but develop new features locally rather than in 
KF. I'm not sure whether we have meanwhile finally cleaned up all the forked 
kdelibs classes in PIM from the 3 and 4 era due to that.
* Depend on the latest release and wait for new features to become available 
before making use of them in the app, effectively increasing the delay to reach 
users to twice the release cycle.

Ie. this makes contributing to KF less attractive from an app developer 
perspective.
 

The main issues with out-of-sync KF and Plasma should have been solved with 
some frameworks being moved to Plasma with KF6, if there is more of this 
remaining we should look at the specific cases, for the vast majority of 
frameworks I don't think we have a problem there.

> * Helps with outside usage of our frameworks. These didn't get as much
> success as we were hoping when splitting. I think having a stable branch
> for Framework might help but this is only a guess. It would be interesting
> to know of cases where people considered using some Framework and to know
> why they decided against or for it and if this proposal would helps or not.

I disagree with the often repeated statement that this wasn't successful. It 
might not happened as widely and visibly as we might want, but KF is most 
certainly used vastly more often than kdelibs ever was. And the release 
schedule isn't the impediment here, it's things like dependencies and the 
build system making it hard to vendor copies.

> In effect this proposal would mean:
> 
> * We do one major release every 4 months and then minor releases with a
> frequency based on the Fibonacci numbers as this releases cycle works very
> well for Plasma. Naming could be either YY.MM or Major.Minor.Path. We could
> unify that for one or the other one. Or let each component keep their
> current versioning scheme depending whether we want to merge Plama and Gear
> as product or keep it separate. I'm a bit undecided about this.

>From my app developer perspective that is fine, Fibonacci rather than 
equidistant patch releases look like an improvement to me. However, assuming 
the feature release interval basically remains the same.

AFAIK Plasma is discussing a 6 month interval though, and I do understand 
longer cycles are better for promo, but it means users have to wait longer for 
features. It therefore also matters whether we are tying Plasma's release to 
Gear or Gear's releases to Plasma here.

> * "KDE Framework" will still exists as an entity and its ABI and API
>   compatibility requirement. Only change is the release frequency and the
> introduction of a stable branch in sync with the other components.

That part I'm against for the above mentioned reasons, KF's release frequency 
is a major feature of it.

Regards,
Volker

signature.asc
Description: This is a digitally signed message part.


Re: Proposal unify back our release schedules

2024-04-19 Thread Carl Schwan
On Friday, April 19, 2024 2:03:45 PM GMT+2 Luigi Toscano wrote:
 
> We also have and we will continue to have applications which are not on this
> schedule, and thus KDE will continue to be unfit as a general brand for
> them. The work to reduce the dependencies improved with the move to Qt 6
> (for example the Frameworks-but-really-Plasma moved to Plasma), surely it
> can be improved.

And this is fine. For these apps, they can still continue to depends on 
Framework as they wish and the API and ABI stability are still guaranteed. 
They won't have as often a feature release of Framework but I don't expect 
this to be a big issue as these apps already often prefer to depend on older 
framework release instead of pursuing the latest release.
 
> > * We currently don't have a stable branch for Framework and it takes often
> > up to> 
> >   one month for fixes to be deployed. The Framework releases is also not
> >   in sync with either Gear nor Plasma while these two modules heavily
> >   make use of Framework and contribute to Framework.
> 
> But the point of Frameworks is that it should be "always stable".

This is unfortunately not the case. Errors happen and I feel like having a 
beta period shared with the rest of the stack and a patch release one week 
after the release would be really helpful for the stability of Framework.

> > * We could have an unified LTS release including more than just Plasma.
> > This is> 
> >   something that distros have been asking for some time already because
> >   having just Plasma receiving bug-fixes but not Framework nor the apps
> >   is not that helpful.
> Wasn't it said that LTS are difficult? I've heard different voices even from
> Plasma.

I'm not a big fan of doing LTS release either. I just think a LTS release of 
gear + plasma + framework would be better than one of just Plasma.

> > * In term of promotion, it is very difficult to advertise the 3 releases
> > because ...
> 
> Again, this will still leave out everything which does not happen to be part
> of this 3 blocks.

Which is fine. Apps outside of Gear have been doing their own release at their 
own pace with their own release announcement and will continue to do so. This 
proposal doesn't change that. It is not better or worse for them.
 
> > * We won't have 3 different release teams but instead have a bigger one
> > with a> 
> >   bigger bus factor. We could also unify the tooling for doing this mass
> >   releases a bit.
> 
> Releasing improved over time, and the tooling is definitely more unified
> than before (I think Frameworks uses the same tool as Plasma). With the
> discussion about improving the creating of tarballs directly from the tags,
> this may be more a non-problem).

It's improving and this is good. But you still need people to run the scripts 
at some interval, ensure that the builds are passing for everything and ping 
the correct people if not, move the translations to the correct branch in SVN, 
...

> > I do understand that there was valid reasons for splitting KDE Software
> > Collection for Plasma 5 but I don't think this worked out. These were as
> > far as I know the main arguments used for splitting the Software
> > Collection.
> 
> It doesn't mean moving back is the solution. Also, the split happened before
> Qt5, and the reason are still there.

The split is not solving the issues we were thinking it would solve and is 
additionally causing other issues. For me this is a clear indication that we 
need to rethink the split, that the current status quo is not working, and 
that we need to find a better solution. I'm proposing this proposal as a 
possible solution and indeed this might not be the only one, but this is only 
one I came up. Anyone is free to propose counter proposal on how to improve 
the situation ;)
 
> > * Trying to move away from "KDE" being recognized as the software instead
> > of the> 
> >   community. This unfortunately didn't really work out, everyone is still
> >   using KDE to refer to the desktop. Even distros call their edition
> >   "KDE" and I don't blame them, it's difficult to find a better term than
> >   that as for example "Fedora KDE Spin" not only contains Plasma but also
> >   a lot of KDE apps. Splitting the releases won't help with that, we need
> >   to find a better approach or just let it go and accept that people will
> >   keep using KDE to describe the desktop/software.
> 
> And again, we have and will have stuff which does not fit that. The main
> problem is the Desktop which is seen as "KDE".

People use "KDE" to refer to the "core" components and this includes stuff like 
Dolphin, Kate and Okular, it's not only the desktop.

> Maybe it will take just more time and another generation of people.

I don't think so and even if it did require more time, do we want to wait 
another decade and see if the situation improve?

> > * Better promotion of our apps outside of Plasma. This is a valid point
> > but I think> 
> >   pursuing 

Re: Proposal unify back our release schedules

2024-04-19 Thread Sune Vuorela
On 2024-04-19, Carl Schwan  wrote:
> Hello Community,
>
> I know this might be a controversial idea, but I would like to propose reunify
> our release schedules. I feel like splitting our releases schedules between
> Frameworks, Plasma and Gear is not working as well as we intended it to be 
> when
> we split the releases schedules for Plasma 5. This is for multiple reasons:
>
> * We end up with 3 different products which are released at different times 
> but
>   are connected together. Apps and Plasma both need Framework, Plasma needs 
> some
>   packages from gear like kio-extra, Gear needs some package from Plasma like
>   Breeze. Coordinating all these inter-groups dependencies is complex and was 
> one
>   the reason we had to do a megarelease for Plasma 6. Also for the end user, 
> one
>   product is a lot easier to understand.

It might make sense for plasma and gear to follow the same schedule. But
I really like what we have going with frameworks.

One issue that leads to the 'frameworks stable, release monthly' was
that sometimes, even often, you need to add a *feature* to a framework
to address a *bug* in an application.

If you can't relatively quickly start requiring the fixed framework, you
end up working around it in the application and forget fixing it in the
framework.

I do think that that has been a great success with the frameworks
release schedule.

I don't think we should move away from that.

/Sune



Re: Proposal unify back our release schedules

2024-04-19 Thread Luigi Toscano
(apologize, resending, I've missed a CC)

Carl Schwan ha scritto:
> Hello Community,
> 
> I know this might be a controversial idea, but I would like to propose reunify
> our release schedules. I feel like splitting our releases schedules between
> Frameworks, Plasma and Gear is not working as well as we intended it to be 
> when
> we split the releases schedules for Plasma 5. This is for multiple reasons:
> 
> * We end up with 3 different products which are released at different times 
> but
>   are connected together. Apps and Plasma both need Framework, Plasma needs 
> some
>   packages from gear like kio-extra, Gear needs some package from Plasma like
>   Breeze. Coordinating all these inter-groups dependencies is complex and was 
> one
>   the reason we had to do a megarelease for Plasma 6. Also for the end user, 
> one
>   product is a lot easier to understand.

We also have and we will continue to have applications which are not on this
schedule, and thus KDE will continue to be unfit as a general brand for them.
The work to reduce the dependencies improved with the move to Qt 6 (for
example the Frameworks-but-really-Plasma moved to Plasma), surely it can be
improved.

> * This results in very frequent releases which creates a lot of work for 
> distros
>   and talking with some distro maintainers they seems to agree that having a 
> big
>   releases every 4 months is better than having constantly a new minor or 
> major
>   release from either Framework, Gear or Plasma.




> 
> * We currently don't have a stable branch for Framework and it takes often up 
> to
>   one month for fixes to be deployed. The Framework releases is also not in 
> sync
>   with either Gear nor Plasma while these two modules heavily make use of 
> Framework
>   and contribute to Framework.

But the point of Frameworks is that it should be "always stable".

> 
> * We could have an unified LTS release including more than just Plasma. This 
> is
>   something that distros have been asking for some time already because having
>   just Plasma receiving bug-fixes but not Framework nor the apps is not that 
> helpful.

Wasn't it said that LTS are difficult? I've heard different voices even from
Plasma.


> 
> * In term of promotion, it is very difficult to advertise the 3 releases 
> because
>   combined we have an important release of either Gear, Plasma or Framework 
> every
>   few weeks. This is too frequent and often while a combined announcement 
> would
>   have enough content to be published in a tech newspaper. When splitting the 
> content
>   accross 2 announcements (Gear and Plasma), we reduce the content per
>   announcement and this makes it less interesting for the journalists to write
>   about us. This doesn't come from me, this is that some journalists directly
>   told me.

Again, this will still leave out everything which does not happen to be part
of this 3 blocks.


> 
> * We won't have 3 different release teams but instead have a bigger one with a
>   bigger bus factor. We could also unify the tooling for doing this mass 
> releases
>   a bit.

Releasing improved over time, and the tooling is definitely more unified than
before (I think Frameworks uses the same tool as Plasma). With the discussion
about improving the creating of tarballs directly from the tags, this may be
more a non-problem).

> 
> I do understand that there was valid reasons for splitting KDE Software 
> Collection
> for Plasma 5 but I don't think this worked out. These were as far as I know 
> the
> main arguments used for splitting the Software Collection.

It doesn't mean moving back is the solution. Also, the split happened before
Qt5, and the reason are still there.

> 
> * Trying to move away from "KDE" being recognized as the software instead of 
> the
>   community. This unfortunately didn't really work out, everyone is still 
> using
>   KDE to refer to the desktop. Even distros call their edition "KDE" and I 
> don't blame
>   them, it's difficult to find a better term than that as for example "Fedora 
> KDE Spin"
>   not only contains Plasma but also a lot of KDE apps. Splitting the releases 
> won't
>   help with that, we need to find a better approach or just let it go and 
> accept that
>   people will keep using KDE to describe the desktop/software.

And again, we have and will have stuff which does not fit that. The main
problem is the Desktop which is seen as "KDE".
Maybe it will take just more time and another generation of people.

> 
> * Better promotion of our apps outside of Plasma. This is a valid point but I 
> think
>   pursuing our current strategy of putting our apps in many app store to be 
> more
>   effective. We could also show the platforms support of each applications 
> more
>   prominently in our releases announcements like we already do on apps.kde.org
>   (e.g. https://apps.kde.org/okular/). Generally Plasma releases fare a lot 
> better
>   in term of promotion than the gear announcements and showing 

Re: Proposal unify back our release schedules

2024-04-19 Thread Luigi Toscano
Nate Graham ha scritto:

> I expect a vast amount of discussion to result from this proposal, and I think
> that's great. It'll be good to talk about it. But I suspect in the end we'll
> likely not achieve 100% consensus, and in that event I'd like for us to put it
> to a formal KDE e.V. vote so that the topic doesn't become stale and die after
> everyone's exhausted from a long discussion.

Is this an eV topic?


-- 
Luigi


Re: Proposal unify back our release schedules

2024-04-19 Thread Luigi Toscano
Carl Schwan ha scritto:
> Hello Community,
> 
> I know this might be a controversial idea, but I would like to propose reunify
> our release schedules. I feel like splitting our releases schedules between
> Frameworks, Plasma and Gear is not working as well as we intended it to be 
> when
> we split the releases schedules for Plasma 5. This is for multiple reasons:
> 
> * We end up with 3 different products which are released at different times 
> but
>   are connected together. Apps and Plasma both need Framework, Plasma needs 
> some
>   packages from gear like kio-extra, Gear needs some package from Plasma like
>   Breeze. Coordinating all these inter-groups dependencies is complex and was 
> one
>   the reason we had to do a megarelease for Plasma 6. Also for the end user, 
> one
>   product is a lot easier to understand.

We also have and we will continue to have applications which are not on this
schedule, and thus KDE will continue to be unfit as a general brand for them.
The work to reduce the dependencies improved with the move to Qt 6 (for
example the Frameworks-but-really-Plasma moved to Plasma), surely it can be
improved.

> * This results in very frequent releases which creates a lot of work for 
> distros
>   and talking with some distro maintainers they seems to agree that having a 
> big
>   releases every 4 months is better than having constantly a new minor or 
> major
>   release from either Framework, Gear or Plasma.




> 
> * We currently don't have a stable branch for Framework and it takes often up 
> to
>   one month for fixes to be deployed. The Framework releases is also not in 
> sync
>   with either Gear nor Plasma while these two modules heavily make use of 
> Framework
>   and contribute to Framework.

But the point of Frameworks is that it should be "always stable".

> 
> * We could have an unified LTS release including more than just Plasma. This 
> is
>   something that distros have been asking for some time already because having
>   just Plasma receiving bug-fixes but not Framework nor the apps is not that 
> helpful.

Wasn't it said that LTS are difficult? I've heard different voices even from
Plasma.


> 
> * In term of promotion, it is very difficult to advertise the 3 releases 
> because
>   combined we have an important release of either Gear, Plasma or Framework 
> every
>   few weeks. This is too frequent and often while a combined announcement 
> would
>   have enough content to be published in a tech newspaper. When splitting the 
> content
>   accross 2 announcements (Gear and Plasma), we reduce the content per
>   announcement and this makes it less interesting for the journalists to write
>   about us. This doesn't come from me, this is that some journalists directly
>   told me.

Again, this will still leave out everything which does not happen to be part
of this 3 blocks.


> 
> * We won't have 3 different release teams but instead have a bigger one with a
>   bigger bus factor. We could also unify the tooling for doing this mass 
> releases
>   a bit.

Releasing improved over time, and the tooling is definitely more unified than
before (I think Frameworks uses the same tool as Plasma). With the discussion
about improving the creating of tarballs directly from the tags, this may be
more a non-problem).

> 
> I do understand that there was valid reasons for splitting KDE Software 
> Collection
> for Plasma 5 but I don't think this worked out. These were as far as I know 
> the
> main arguments used for splitting the Software Collection.

It doesn't mean moving back is the solution. Also, the split happened before
Qt5, and the reason are still there.

> 
> * Trying to move away from "KDE" being recognized as the software instead of 
> the
>   community. This unfortunately didn't really work out, everyone is still 
> using
>   KDE to refer to the desktop. Even distros call their edition "KDE" and I 
> don't blame
>   them, it's difficult to find a better term than that as for example "Fedora 
> KDE Spin"
>   not only contains Plasma but also a lot of KDE apps. Splitting the releases 
> won't
>   help with that, we need to find a better approach or just let it go and 
> accept that
>   people will keep using KDE to describe the desktop/software.

And again, we have and will have stuff which does not fit that. The main
problem is the Desktop which is seen as "KDE".
Maybe it will take just more time and another generation of people.

> 
> * Better promotion of our apps outside of Plasma. This is a valid point but I 
> think
>   pursuing our current strategy of putting our apps in many app store to be 
> more
>   effective. We could also show the platforms support of each applications 
> more
>   prominently in our releases announcements like we already do on apps.kde.org
>   (e.g. https://apps.kde.org/okular/). Generally Plasma releases fare a lot 
> better
>   in term of promotion than the gear announcements and showing the 
> applications
>   on an unified 

Re: Proposal unify back our release schedules

2024-04-19 Thread Nate Graham
Thanks for taking the time to assemble this email, Carl. These are 
arguments I've brought up individually myself for years, and I think 
they have merit.


Taken together, for me they paint a picture of a project that was 
attempted, faithfully executed on, but didn't end up delivering the 
benefits we hoped for while introducing some new drawbacks that have no 
easy path to being resolved. I'm in favor.


I expect a vast amount of discussion to result from this proposal, and I 
think that's great. It'll be good to talk about it. But I suspect in the 
end we'll likely not achieve 100% consensus, and in that event I'd like 
for us to put it to a formal KDE e.V. vote so that the topic doesn't 
become stale and die after everyone's exhausted from a long discussion.


Nate




On 4/19/24 11:04, Carl Schwan wrote:

Hello Community,

I know this might be a controversial idea, but I would like to propose reunify
our release schedules. I feel like splitting our releases schedules between
Frameworks, Plasma and Gear is not working as well as we intended it to be when
we split the releases schedules for Plasma 5. This is for multiple reasons:

* We end up with 3 different products which are released at different times but
   are connected together. Apps and Plasma both need Framework, Plasma needs 
some
   packages from gear like kio-extra, Gear needs some package from Plasma like
   Breeze. Coordinating all these inter-groups dependencies is complex and was 
one
   the reason we had to do a megarelease for Plasma 6. Also for the end user, 
one
   product is a lot easier to understand.

* This results in very frequent releases which creates a lot of work for distros
   and talking with some distro maintainers they seems to agree that having a 
big
   releases every 4 months is better than having constantly a new minor or major
   release from either Framework, Gear or Plasma.

* We currently don't have a stable branch for Framework and it takes often up to
   one month for fixes to be deployed. The Framework releases is also not in 
sync
   with either Gear nor Plasma while these two modules heavily make use of 
Framework
   and contribute to Framework.

* We could have an unified LTS release including more than just Plasma. This is
   something that distros have been asking for some time already because having
   just Plasma receiving bug-fixes but not Framework nor the apps is not that 
helpful.

* In term of promotion, it is very difficult to advertise the 3 releases because
   combined we have an important release of either Gear, Plasma or Framework 
every
   few weeks. This is too frequent and often while a combined announcement would
   have enough content to be published in a tech newspaper. When splitting the 
content
   accross 2 announcements (Gear and Plasma), we reduce the content per
   announcement and this makes it less interesting for the journalists to write
   about us. This doesn't come from me, this is that some journalists directly
   told me.

* We won't have 3 different release teams but instead have a bigger one with a
   bigger bus factor. We could also unify the tooling for doing this mass 
releases
   a bit.

I do understand that there was valid reasons for splitting KDE Software 
Collection
for Plasma 5 but I don't think this worked out. These were as far as I know the
main arguments used for splitting the Software Collection.

* Trying to move away from "KDE" being recognized as the software instead of the
   community. This unfortunately didn't really work out, everyone is still using
   KDE to refer to the desktop. Even distros call their edition "KDE" and I 
don't blame
   them, it's difficult to find a better term than that as for example "Fedora KDE 
Spin"
   not only contains Plasma but also a lot of KDE apps. Splitting the releases 
won't
   help with that, we need to find a better approach or just let it go and 
accept that
   people will keep using KDE to describe the desktop/software.

* Better promotion of our apps outside of Plasma. This is a valid point but I 
think
   pursuing our current strategy of putting our apps in many app store to be 
more
   effective. We could also show the platforms support of each applications more
   prominently in our releases announcements like we already do on apps.kde.org
   (e.g. https://apps.kde.org/okular/). Generally Plasma releases fare a lot 
better
   in term of promotion than the gear announcements and showing the applications
   on an unified announcement would likely help spread the words about our 
applications
   better.

* Helps with outside usage of our frameworks. These didn't get as much success
   as we were hoping when splitting. I think having a stable branch for 
Framework
   might help but this is only a guess. It would be interesting to know of cases
   where people considered using some Framework and to know why they decided
   against or for it and if this proposal would helps or not.

In effect this proposal would 

Re: Proposal unify back our release schedules

2024-04-19 Thread Paul Brown
Hello Carl,

Promotion-wise it makes sense. We always have difficulty explaining and, hence, 
making the general public feel excited about the new versions of Plasma, as 
the concept of "desktop environment" is a concept that escapes (and bores) 
most people. But promoting a bunch of new apps, and a new set of configuration 
tools, and a new wallpaper and widgets is a much easier thing to do.

Also new versions of things like Dolphin and Spectacle, which are closely 
associated with Plasma, are released with Gear, while System Monitor and 
Discover are released with Plasma. This makes zero sense to outsiders.

Tl;DR: Sounds good to me.

Cheers

Paul
-- 
Promotion & Communication

www: https://kde.org
Mastodon: https://floss.social/@kde
Facebook: https://www.facebook.com/kde/
Twitter: https://twitter.com/kdecommunity
LinkedIn: https://www.linkedin.com/company/kde