Everyone who cares about the continued smooth running of the free software world where communities of independent parties gather around working on projects as we do in KDE or Linux should keep an eye on recent developments.
The VMWare case has a Linux developer suing VMWare for using Linux as part of their proprietary product. Harald ‘LaForge’ Welte has a nice write up on his blog. It will define how much modification can be done and then whether linking to a modified Linux build will be a derived work of the original.
The other one is Canonical who have announced it plans to ship zfs with Ubuntu. An employee wrote in a confusing blog post “As we have already reached the conclusion, we are not interested in debating license compatibility, but of course welcome the opportunity to discuss the technology.” but in linking to differing opinions feels the need to highlight “please bear in mind that these are opinions.” The Software Freedom Conservancy wrote an post discussing why it was a derived work and why that’s illegal to distribute. And the SFLC’s Eben Moglen wrote another one which based on a link from Dustin’s blog is the opinion they are replying upon for thinking everything is ok. Eben’s blog post is fascinating and makes for page turning bed-time reading by going into exactly why it’s a derived work. It all depends on “literal interpretation of GPLv2’s system library exception” and that based on that
If there exists a consensus among the licensing copyright holders to prefer the literal meaning to the equity of the license, the copyright holders can, at their discretion, object to the distribution of such combinations. They would be asserting not that the binary so compiled infringes their copyright, which it does not, but that their exclusive right to the copying and redistribution of their source code, on which their copyright is maximally strong, is infringed by the publication of a source tree which includes their code under GPLv2 and ZFS filesystem files under CDDL, when that source tree is offered to downstream users as the complete and corresponding source code for the GPL’d binary.
Which nicely explains why an unlinked nvidia driver is ok but a linked zfs driver is not.
Canonical are already distributing Linux illegally because their previous Intellectual Property Policy claimed additional restrictions which do not exist so they have lost the right to copy it under the GPL 2 licence. My guess would be that they realised nobody much cared about that and reasoned they had nothing more to lose.
I can’t find zfs in the Ubuntu archive or queue, as an archive admin I would of course reject it as it’s not compatible with Ubuntu’s policy.
In a few weeks students can begin submitting their applications for Google Summer of Code 2016.
KDE has been accepted as a mentoring organization again this year, and I’ve already been contacted by several students looking to do a Google Summer of Code project with KDE. Prospective Summer of Code students usually have lots of enthusiasm, and they often write great proposals with little or no help, but sometimes these proposals lack key information.
I’ve seen my share of good and bad proposals. I’ve been a Google Summer of Code student with KDE three times (four if you count Summer of KDE) so I’ve been in the very situation prospective Summer of Code students find themselves right now. I’ve also been on the other side of the fence: I have been a Google Summer of Code and Google Code-In mentor (and organization administrator) and I’ve been working as a software engineering instructor (since 2008), so I like to think I can relate with both students and mentors in this case.
This post is for students who wish to take part in Google Summer of Code.
Google Summer of Code is a kind of like a scholarship program, and a very competitive one: if you get picked, you’re one of just a thousand students in the world (about 1300 last year, 36 of those with KDE) who get to spend their summer hacking on open source software while learning from the very best software craftspeople, and get paid for it too. In order to achieve that, you need to submit an application to Google. An application is essentially a bunch of information you enter in a form, the most important part of it is your proposal.
A Google Summer of Code proposal is a document, it can be rich text but it’s best to consider it plain text because the web application that handles proposal only has basic formatting features.
The KDE community maintains a wiki page specifically targeted at Summer of Code students with very useful information on how to get started. Read it. Really, read it, please. Yes, all of it. Done? Great! Assuming you’ve gone through points 1-3 of the Recommended steps list, it’s time to prepare your proposal.
Writing a good proposal is not easy, especially if you’re a student making first contact with an organization: in this case your proposal is your best advertisement. You have to convince the organization (or at least some key people inside it) why you of all people are the right person for the job. What follows applies to KDE, but it should work for other organizations as well.
I used to structure my proposals the following way (worked well 3 times). This is not a hard rule. You can structure your proposal otherwise, but I think this is a good guideline if you need some inspiration:
- Introduction. Your software project should solve a clearly defined problem. Before offering the solution (your Google Summer of Code project), you should first define the problem. What is the current state of things? What issue do you wish to solve and why? Then you should conclude with a sentence or two about your solution. This is somewhat like an elevator pitch.
- Project goals. This section should again be short and to the point, and it might be a good idea to format it like a list. You should propose a clear list of deliverables, explaining exactly what you promise to do and what you do not plan to do. “Future developments” can be mentioned, but your promise for the three months of the Google Summer of Code season is what counts. It is better to promise less and deliver more than to promise a lot and then fall short. At this point you are making a commitment, and should your proposal be accepted, your mentor will evaluate your progress through these deliverables (and other factors).
- Implementation. This section can be longer and more detailed. You should describe your plans as a solution for the problem you defined earlier. You don’t need to provide a lot of technical details, but you do need to show that you understand the technology and illustrate key technical elements of your proposed solution in reasonable detail.
- Timeline. This section is easily overlooked, yet it’s arguably more important than the previous section. With the timeline section you show that you understand the problem, that you have thought hard about a solution, and that you have also broken the solution down into manageable bits. If your timeline is reasonable and its deadlines achievable, you show that you have an actual path in mind that would take you from idea to delivery. With this section you set expectations, so do not make promises you cannot keep. A humble, realistic and detailed timeline is much better than a timeline that promises to move mountains. Google has selected the very best open source organizations in the world to take part in Google Summer of Code, and the mentors in these organizations are often the top professionals in their respective fields. Mentors can easily spot unrealistic timelines.
- About me. If you’re done with the other sections this will be a piece of cake. Just put down your contact information and write a few sentences about you and why you think you’re the best for this job. It’s ok to brag a little. If you’ve already done some open source work, don’t forget to include links.
Submit your proposal early, keep it short but include all the necessary information. Get it reviewed by the right people in the organization, well before submitting it to the Google Summer of Code web application. As far as KDE is concerned, you should submit your proposal to the developers mailing list of the relevant subproject as published on the ideas page. I can’t stress this enough: get feedback. Organizations want good proposals and good students, and are usually eager to help you improve your proposal. Just write a brief and informal email, attach your proposal and ask for feedback.
I hope this advice proves useful. We have also gathered some accepted proposals from past years, you might find them useful as inspiration.
You can submit more than one proposal to the same organization or different organizations to increase your chances, but my advice is to not overdo it: quality is better than quantity.
Yesterday I landed in Geneva, ready to participate in the 2016 multipurpose Sprint at CERN.
After a successful touchdown, I somehow dragged myself onto the CERN campus after over 20 hours of riding trains, flying, waiting, and running. Half dead and ready to drop I got my bearings around the campus while keeping an eye out for other Sprint Participants, and I have to say my first impressions of the facility were shock and awe; more amazing than I could have anticipated.
Of course I was too tired to appreciate it, and I kept pestering the hotel staff to see if a crashpad was ready.
All at once everything seemed to come together and I ran into Alex, Riccardo, Kai, Martin G, and Sebas in short order. Today was just my arrival day, so I wasn’t breaking out the laptop and starting intense development or planning sessions with anyone, but even in our casual conversations we all excitedly at one point or another start planning to plan on exciting things.
Right now? I’m waking up, looking at the view (pictures later, probably will update this post) and ready to get started.
Support planning to plan and donate to the KDE e.V.!
Via Paypal for one-time donations
Become an ongoing supporter and official supporting member
Hi, today is my forst day at CERN.
After six hours of travel we finally arrived at CERN.
The journey was crazy, crossing France and Switzerland, passing through the Mont Blanc and Geneve.
The CERN access is like a border and this makes sense bacause CERN is the neutral territory.
By the way: CERN facilitys are awesome, for example the idea² or the cafeteria.
This day was amazing, i think in next days all will get better.
The 5th and final update for KDE's Plasma 5.5.x series is now available to all Chakra users, in anticipation of 5.6 which is expected to be released in a couple of weeks.
Plasma 5.5.5 as usually includes a month's translations and bugfixes, with the authors highlighting the improvements for the lockscreen and user switching.
It should be safe to answer yes to any replacement question by Pacman. If in doubt or if you face another issue in relation to this update, please ask or report it on the related forum section.
Most of our mirrors take 12-24h to synchronize, after which it should be safe to upgrade. We also now provide a new simple mirror status page to check when your mirror last synchronized with our main server.
I spend a few days of my vacations ( who needs vacations if you can spend a lovely evening banging your head on the wall trying to understand the complete nonsense that’s iOS development?) trying to understand the complete nonsens that’s iOS development. After crying my eyes out for quite a bit all of the Subsurface dependencies where build, and also the subsurface application, but I couldn’t managed to make it deploy using CMake (any cmake experts out here?), so in a instance of brief momenty of claritude I started a qmake based project file for subsurface and it worked almost out of the box.
now, together with the Mac, Windows, Linux, Android we have a iOS application running kirigami. <3
Time has been crazy lately for me. So crazy that, I haven’t even managed to blog about many things that I wish I’ve had. And because time is till crazy (haven’t finished packing and taking off in a few hours), I’m blogging about this trip in the last 100 meters.
The story goes like this:
Last Akademy, I found out about the WikiToLearn project and that they have joined the KDE community. I could write a whole series about what WikiToLearn is, so I won’t go into all it’s details. In short it’s a encyclopedia for students to organize their curriculum and share the knowledge.
I thought this project was awesome, but because I’m not a student any more, for me personally is not of much use. So I was a bit hesitant to get involved. But then I remembered that I’m not alone in the world, and if I can help others, why not? So I joined their telegram group and hung around, watching as the project grows and helping where/when I could.
The kept announcing that they have made a partnership with many institutions, universities mostly. But recently they announced a partnership with CERN and that they plan to organize a sprint there. How’s that for awesome accomplishments? Great job guys!!
The sprint would be organized under the KDE umbrella, so, many other KDE projects wanted to join the sprint. So I hopped on board as well.
My plan is to work on the KDE techbase wiki and improve the beginners section, get some interviews for the Kubuntu Podcast, do some coding, and other things. Ooooo!! And the most important thing: Meet new awesome people, and meet again the awesome people I already know.
I’ll also finally meet face to face Andrea Del Sarto, who is a designer from KDE and also the editor of the Kubuntu Podcast. We’ll be able to experiment with some video editing and some audio editing. I’m bringing some audio/video equipment, and he is as well.
I hope we’ll all have good fun there and make progress on our projects.
Also I’d like to mention that this would not be possible without the support of our community and without their donations. If you’d like to keep helping us, please consider making a donation to KDE, so that we may keep these sprints going, where we all work to make the KDE software better.
P.S. I wrote this blog post on my way to the airport. I need to thank my awesome wife for driving me 😀
The Hasp HL is a copy protection dongle that ships horrible closed-source drivers.
This is a very simple OSS library based on libusb for accessing MemoHASP functions of the Hasp HL USB dongle. It currently can view the ID of a dongle, validate the password, read from memory locations, and write to memory locations.
This library allows use of the dongle without any drivers!API
Include hasplib.h, and compile your application alongside hasplib.c and optionally hasplib-simple.c.Main Functions
Get a list of all connected dongles:
Login to that dongle using the password, and optionally view the memory size:
Instead of the first two steps, you can also retreive the first connected dongle that fits your password:
Read the ID of a dongle:
Read from a memory location:
Write to a memory location:
Free the list of dongles opened earlier:
Free a single dongle:
The simple API wraps the main API and provides access to a default dongle, which is the first connected dongle that responds to the given passwords. It handles dongle disconnects and reconnections.
Create a hasp_simple * object for a given password pair:
Free this object:
Read an ID, returning 0 if an error occurred:
Read a memory location, returning 0 if an error occurred:
Write to a memory location, returning its success:
This is released under the GPLv3. See COPYING for more information. If you need a less restrictive license, please contact me.
Plasma 5.6 will be out in two weeks but the Plasma team has just released Plasma 5.6 beta which already features all the new yummy things and improvements as well as bunch of bug fixes that will be available in the 5.6 release.
Among other things Plasma 5.6 brings improved color scheme support, task manager on steroids, some new applets as well as further progress on the Wayland front. Two completely new things come as a tech preview: GRUB2 and Plymouth themes to make your system look fancy from the first second you power it up (see instructions below how to enable them).
You can ready the release announcement with more detailed descriptions and screenshots here.
The Fedora KDE SIG team has updated the Plasma 5 Unstable Copr repository so you can get a taste of Plasma 5.6 on Fedora 23 now (sorry for the lack of F22 builds). Rawhide will probably get the beta update some time next week.$ dnf copr enable @kdesig/plasma-5-unstable $ dnf update
Due to some changes in upstream releases of KActivities it is possible that you will get package conflict between kactivitymanagerd-debuginfo and kf5-kactivities-debuginfo. In that case please uninstall the kf5-kactivities-debuginfo package. This will be fixed properly once we roll out KDE Frameworks 5.20.
If you want to try the new GRUB and Plymouth themes, install the new packages$ dnf install grub2-breeze-theme plymouth-theme-breeze
To enable the GRUB theme, edit /etc/default/grub:GRUB_TERMINAL_OUTPUT="gfxterm" GRUB_THEME=/boot/grub2/themes/breeze/theme.txt
and generate new GRUB configuration:$ grub2-mkconfig -o /boot/grub2/grub.cfg
To enable the Plymouth theme, runplymouth-set-default-theme breeze --rebuild-initrd
If you run into any packaging issues, please talk to us on #fedora-kde on IRC or email@example.com. If you find any bugs or crashes, please report them to bugs.kde.org so that Plasma developers can fix them before the final 5.6 release.
In less than 24 hours more than 40 people, including me, from various KDE projects will gather in beautiful Geneva at CERN to shape the future of KDE.
With Plasma 5.6 Beta out the door, we can now concentrate on Plasma 5.7 and beyond.
My contributions to Plasma 5.6 include Jump Lists, a Supercharged Task Manager, better media controls, and many more. All of this would not have been possible without all the people who support KDE. If you like what you saw, please support us! :)
Starting on Monday, the Swiss part of CERN will become a home to a dozen Plasma generators. Apart from that, it will also have to store quite a few VDG and W2L components.
We expect a few new developments in the Plasma research, including an improved miniaturization ray that can shrink it to small screens with improved efficiency, and improvements on the Wayland purification system which will provide a tearing-free environment for Plasma consumption.
All this would not be possible without people who KDE. Please consider supporting us.
A new drawing challenge on the forum: https://forum.kde.org/viewtopic.php?f=277&t=131341
This month’s subject is Fan-Art-Remix.
Please only post fan art when the creator gave you the explicit permission to make fan art or the creator explicitly allows fan art in general! (And don’t forget to credit your sources!)
This is rather a short post…
The sprint at CERN for WikiToLearn, the VDG and Plasma team and to reorganize Techbase is beginning on Monday. As I already said in previous posts about reorganizing Techbase: having clean and organized wiki is really beneficial for the community. It will be easier to find the information, and thus the community will be more efficient.
People asked on the mailing list if they could remotely help… I just want to say: Of course! To work on the Techbase, you can join us on #kde-www and #kde-devel (on freenode) and see what’s still to do, and what the plan is.
I cannot already say how we are going to be organized but anyway, just ask on the channels (you can ping me @ochurlaud as well).
As I said, a short post: I’m already done.
Next week, ping us on #kde-www, and hack with us!
Cheers, and have fun!!
I’ve just finished my travel preparations for this year’s Plasma sprint, which will start tomorrow with the arrival of my fellow hackers in Geneva, CH. Together with a few other groups in KDE and organized by our WikiToLearn friends, we’re honored to be guests at CERN, the European Organization for Nuclear Research where physicists and engineers are probing the fundamental structure of the universe. Of course, these scientists and engineers couldn’t do their work without Plasma, so we’re obliged to hold our meeting there. :-)
Topics range from our Wayland support to Plasma Mobile, documentation, how we can improve our desktop experience, and general planning for the next months. I’m also looking forward to some face-time with my fellow hackers, and discussions with the artists and usability experts how are holding a meeting of the visual design group in KDE. Only good stuff can come out of this.
Many thanks go to all the people who support KDE. This support makes meetings like next week’s possible. Please consider supporting us.
It’s a lovely weekend.. to test!
After a long grueling night of rebuilds I have a working PIM suite with kolab support!
sudo add-apt-repository ppa:kubuntu-ppa/staging-misc
sudo apt-get update
sudo apt-get dist-upgrade
Do things as you normally do, and report back any crashes or unexpected behavior.
Once you are done testing it is very important to remove the staging PPA.
sudo apt install ppa-purge
sudo ppa-purge ppa:kubuntu-ppa/staging-misc
If you find any of my work useful, please consider a donation or become a patreon!
I can no longer sustain working without an income. If this works I can continue all of my
(K)ubuntu and KDE contributions ( a full time job in its current state + overtime!)
Patreon for Scarlett Clark (me)
While I have been quiet on the blogging front, KDE on FreeBSD has not rested. The unofficial ports repository has had a whole bunch of updates:
- Plasma was updated to Plasma 5.5.5 and then Plasma 5.6-beta in the plasma5-branch.
- Qt 5.6 has been revived in the qt-5.6 branch. There was an earlier attempt at getting this working, which has been discarded. This time, TCB has also massaged QtWebEngine into some kind of shape.
- KDE4 has had some small updates in trunk, getting newer kdelibs and newer KDevelop.
The plan is roughly this: get the KDE4 updates into the official tree because they also help pave the way to introducing Frameworks, Plasma5 and KDE Applications ports into the tree by changing up some of the infrastructure. Qt5 is already in-tree. Then KF5 can be added, which will test the waters for parallel-installing KDE4 and Frameworks on FreeBSD. And then the whole hog .. er .. dragon.
Timothée Giet was kind enough to send a Flying Konqui with BSD-bubble. I’m going to try to make that the default wallpaper with Plasma5 on FreeBSD, I think it’s cute. Thanks to him for the artwork, and to Rakuco and TCB for a lot ofall of the heavy lifting in the area51 repository.
That’s right friends, we’re going to have a Kubuntu Packaging Party.. and everyone is invited.
Friday 11th March at 20:00 UTC.
Kubuntu members, the Kubuntu Podcast team and members of the Kubuntu community are coming together to party online.
The theme is packaging, but that is only the beginning of the fun! There will be chocolate, snacks, coffee, crisps ( aka chips ), beer, code, hacking, experimenting and even Champagne!!!
The Kubuntu Podcast team will be hosting a Public Hangout OnAir event and there will be plenty of action on IRC at irc.freenode.net #kubuntu-devel
Above all we’re going to have fun, chat, share knowledge, party and learn new things. Their will be plenty of us on hand to get you started playing and experimenting with Kubuntu. Whether this is your first time trying Kubuntu or you want help with installing, bug fixing, code hacking or packaging. All are welcome
We will share a desktop in the Hangout. You can join in or simply just watch, listen and learn.
Check out the event page on Google+ and book it in your calendar.
We’ll see you there
A while ago Rohan Garg suggested we should use Aptly, a relatively new repository management system written in Go featuring advanced features such as repository mirroring, publishing to Amazon S3 and a REST API. Since I do like me some REST APIs I was quickly sold on the idea of adopting it as our primary repository system.
Alas, most of our CI rigging is written in Ruby and there was no usable API gem in sight.
Low and behold: I wrote a Ruby gem for Aptly’s REST API. It’s called aptly-api.
It covers all the common repository usage from creating repositories and adding files, to publishing repositories to a publishing location. Let’s look at some code.
For example here we create a repository and publish it as public-name.require 'aptly' Aptly.configure do |config| config.host = 'localhost' config.port = 8080 end repo = Aptly::Repository.create('kewl-new-repo') repo.publish('public-name', Distribution: 'wily', Architectures: %w(amd64 i386))
Aptly has two notions of a repository. There is a repository and then there is a published repository. A published repository essentially is an on-disk representation of a repository, namely what you would actually find on any deb repository like archive.ubuntu.com. These published repositories have one (or more!) repositories associated with it. All packages in that repository will be part of the published repository. This allows you to have neat repository sets where internally you have packages separate in multiple repositories but publicly they show up in the same published repository tree. For instance you could have a repository for qt and a repository for kde-frameworks, but publicly your deb repository would contain both qt’s and kde-frameworks’ packages.
Let’s add a deb to our repository…repo = Aptly::Repository.get('kewl-new-repo') repo.upload('kitteh.deb')
At this point kitteh will not actually show up in the published directory, we first have to update it. In fact, let’s update all published repositories our repository is part of, chances are we want all to refresh anyway.repo.published_in.each(&:update!)
Bonus: Secure Remote
Aptly presently doesn’t support API authentication, so you’d rightfully wonder how exactly we secure the beast. Surely we aren’t publicly binding the API server for all the world to abuse.
The solution, as so often in life, is of course SSH. Namely if you want to use the API on a remote you could simply tunnel the relevant port to your localhost.require 'aptly' require 'net/ssh/gateway' gateway = Net::SSH::Gateway.new('hostname', 'username') port = gateway.open('localhost', 8080, 8080) Aptly.configure do |config| config.host = 'localhost' config.port = port end
As QWebKit is deprecated now (it’s not in official 5.6 package, but we still able to build by hand for 5.6 as distro will do) I investigated how to replace it by QWebEngine.
For sure QWebEngine < Qt5.6 was not enough to replace it in akregator or others kdepim component.
For example QUrl custom scheme was not supported until 5.6.
So I decided to start porting kdepim against QtWebEngine. Some parts were easy as “about page” in kontact, others were harder as akregator support or others parts were not started yet (as remove QtWebKit in kmail for example).
This big problem is that QtWebEngine uses async method when QtWebKit used sync method.
So it was necessary to rewrite a lot of part of code (still in progress).
But my big success is Akregator which works fine with QtWebEngine.
In kdepim/messagelib/kdepimlibs I added an option for activate it. But it will not activate by default for 16.04 as it’s still not perfect yet.
I will continue this work until 16.08.
There is still a lot of work as:
- reimplement adblock support (in progress)
- reimplement accesskey
- rewrite mail viewer to support it
- rewrite blogilo lib based on QtWebEngine.
But it’s good and fun to do it
Hi everyone!! My name is Matteo Marcoli and I’m a third year student of Physics at the Milano-Bicocca University. I just want to speak about my personal experience with the amazing WikiToLearn project. Thinking about the possibility to share notes and lectures with students all over the world is absolutely fantastic, and considering you can do it in a totally free and open-source way is even more exciting. WikiToLearn really has the potential to start a revolution in the concept of knowledge-sharing and in the way you learn.
I’m proud to give my contribution to the project working as an editor: transcribe notes, check, upload and share them! It’s something that everyone can easily do and we hope that more and more students, in any field, will join us and start writing and contributing, to make WikiToLearn grow and to spread the WikiToLearn-state-of-mind.
I’m looking forward to taking part to the WikiToLearn sprint2016 (7-13 March): an occasion for lots of people working at the project to meet up and give a huge boost to the development of WikiToLearn! We all thank a lot KDE, which is sponsoring the sprint and CERN, which is going to host the whole event.
So: follow the news, look for WikiToLearn, try it, write, share and obviously learn!