TheBlindCow

FreeSoftware to the fullest!

Tag: KDE

KDE SDK Next, how will we develop in a year?

Since the beginning of my involvement in KDE and, more specifically, my involvement with KDevelop, many people have come to me and said that what we “actually need” is an SDK. So far, I never gave this much thought. Especially given that for me, the SDK was the system I’m running on and, by extension, the packaging system of my GNU/Linux distribution.

After all this time and given one of KDE Frameworks goals is to broaden our portability, I started wondering about the subject again. Some of the pieces are starting to come together already, but I still think we need to actually glue them together in a clear and pragmatic approach.

Premise: we want to build an SDK on top of the tools we generally use:
CMake, Qt, KDE Frameworks 5, Plasma, QML and C++.

For starters, we have two different major scopes: Integration with Plasma and Cross-platform facilities.

KDE Applications should be as distributable and portable as possible. On the other hand, we should be providing the tools to specifically integrate to the Plasma Workspaces.

Applications have different use-cases than the Plasma Workspaces. While applications need to be as easily distributable as possible, Plasma will want to have as much control on the system as needed to work accurately. Therefore, we want applications interacting with Qt5+KF5 and integrating through Qt abstractions, while Plasma will want to interact random components in the system regardless without fear.

What I propose:

  • Figure out which frameworks are portable and which are Plasma Platform integration frameworks. (e.g. KDED modules, KNotifications, Solid: are they portable? do we want to support the different platforms?)
  • Figure out what do we mean by supported platform (both in the case of Plasma and Applications).

Once we get there, we will be able to think about developers and:

  • Offer a sensible set of tools to support the development and ease testing.
  • Figure out a packaging plan for the libraries and tools for developers, so they can start using them for their development.
  • Figure out a deployment plan for the frameworks on the different platforms, so that deployed applications know how to rely on the needed dependencies.

So this are mostly thoughts, I would like to know if you’d be interested in the project. I think it makes a lot of sense to figure this out and then gather this year’s Randa meeting to make sure we’re coming up with a coherent next development platform.

GSoC proposals, from both sides

So Google Summer of Code 2013 has been presented already and there’s many people asking about it. From my perspective, GSoC has changed quite a bit over the years, so I have. When it started I was starting university, since then I’ve been a student in 3 occasions and a mentor in 3 other occasions. I figured that given I’ve been at both sides, I could give some advises to incoming people that can be useful.

The student side

The first year I applied for GSoC in KDE I wasn’t accepted. I guess that this fact alone made me respect GSoC a little more (sometimes I feel like people see it like an easy way to get money during summer). The first time I applied for something, I proposed for something that I figured that I missed from KHTML that I missed while developing KAlgebra (MathML support). I didn’t love the project but I wanted the outcome. I didn’t talk to anyone from the community about it, not before, not after. I guess this was my biggest problem, this and that I was (and still am) clueless about KHTML internals. That couldn’t be well received by the mentors.

The next year I took a different approach. This time I went for KDevelop, it was a project that I used in a daily basis back then already and I already had sent a couple of patches to fix some usability problems there. I thought about what could I do there to improve it. I was following KDE development closely, and cmake was starting to be adopted by then so I guessed KDevelop could use some support for it. Before doing so, I remember talking about it with apaku and adymo, who gave me some suggestions for my proposal, telling me that there even was some work started on that area. Being accepted there was huge for me, not only I would be doing something that I wanted during a whole summer, but also something that I needed and I would join a team that I respected a lot.

The next two times got easier, and I don’t think it was mentors preferring me over other students, but I got to understand KDevelop as a project, our user base and their complaints. That gave me a good advantage when writing proposals.

The mentor side

GSoC is great for KDE. We get yearly handwork for working on our projects. Nevertheless, I think that almost any mentor can tell about bad stories. It’s one of those cases where we’d really like to focus on the positive, but it gets really hard.

Before the students are selected, mentors have 2 major challenges in my opinion: they need to select both a good project and a good person behind it.

  • To get good project one of the things we usually do is to create an idea page with things to be done on our projects. We try these ideas to be something that has enough charge for someone to spend 3 months working full-time, we put features that are not really pushing since there’s probably someone else doing them and something that can be appealing enough to a student to pick. The ideas page is the channel that ends up attracting more students in the end, but it has a number of problems for us, the first being that this list is where someone not caring that much would go. Try to stay away from this profile, please care.
  • To get good people, the first thing I do is to take into account how the proposal was written.
    Does it take into account all features? Does it explain how the project will change the bigger picture? Why is he doing the project? Does he believe in the project? Is there any possibility he’d stay after the GSoC? Does he even know how to write properly?
    And who is this person?

I know it’s not very scientific, but keep in mind GSoC is not about getting a new feature for us, but about getting a good contribution so we are thorough. In the end, we’re going to spend many hours mentoring this person and project, we don’t want that work to be for nothing.

My suggestions

  • Read the mailing list, show up on IRC, figure out what’s the project interest and if you’d fit with those people.
  • Don’t compromise about the project idea, make sure you pick an awesome idea that you like. If you don’t find one, make it up.
  • Make sure that you know what you’re doing and why.
  • The proposal is not about choosing a project within the ideas page. It’s about saying how you’ll make it a reality.
  • Sending a patch beforehand helps a lot. Much more than saying how you rock. Also if you’ve contributed to other projects, make sure the proposal points to it. The important thing for us is to know that you can code and work with a community
  • Follow the Planet KDE

And please, note that’s my very own opinion. Not KDE, not KDevelop or KDE Edu, although I’m sure that other people will agree with (some of) my points.

KAlgebra release and further work

I didn’t plan to make an entry about the KDE 4.0 release, but I just realized something which is important to me. It is the first KAlgebra release into KDE, which is great because it will have a larger userbase and it lets me focus more on development instead of poking people to get the translations and packages :). Now I wonder if I still should update the berlios and kde-apps sites… I’ll think about it.

Said that, I’d like to thank all the people that have supported to get KAlgebra into KDE-Edu and have helped me through the way.

A week ago I was a bit worried, because I had exams. I said to myself “It won’t be nice if the next KAlgebra release, with KDE 4.1, looks all the same as the 4.0”. I really was! I had lots of plans in my head and I thought that I would find any time for KAlgebra. Well, since my last monday’s exam I have been working on KAlgebra, and I have been making some great changes (IMHO).

The first one is that I am adapting it to the MVC, so that we can share the variables and functions all over the session.

The second one is that I have been adding the possibility of using multiple types in KAlgebra expression, so that we can work with Real numbers and Vectors, Matrix and so. By now I only have the Vector support working, but I think it will be useful. 🙂

KDE-Edu meeting in Paris

Yesterday I came back from Paris, where i spent this weekend with the KDE-Edu guys, where we met to plan our world domination process.

Before the meeting, I had some doubts about it, I didn’t really know how could a meeting improve KAlgebra or overall KDE-Edu. Everyone can talk to me (by e-mail, irc, etc.) and if there is any issue that should be discussed, I am open to talking to everyone. The reality is far from that. Everything flows more naturally when talking face to face, and that’s what the meetings are for: talking, discussing, knowing people and getting yourself to be known to others. I think it was very healthy for KDE-Edu, it gave me another impression of the project and makes me feel more confortable with it.

Also I had been in a sort of creational crisis for some time, I didn’t have many ideas, but after talking to some people (more precisely Frederik, Benoit and Vladimir) I am more motivated to keep working on it, so that we can have a better KAlgebra for next releases.

Said that, now I am looking forward to KDE 4.1 mainly. I just have some little issues to be solved for the next 4.0 version and then I’ll get to work on the 4.1 version. I am not going to talk about these things now because they don’t exist now, but I will when they do for sure.

Just before getting back to work:
Je voudrais remercier Mandriva, Benoît, KDE ev et surtout, Anne-Marie pour avoir fait possible cette réunion.

Au revoir!

© 2019 TheBlindCow

Theme by Anders NorenUp ↑