KD Executor Released for KDE Usage

Klarälvdalens Datakonsult AB has released the first beta version of
KD Executor 2.0
, our tool for testing and automation. KD Executor is a record and playback tool for Qt and KDE
applications. In addition, it contains a test environment which uses
this record and playback tool for testing Qt and KDE applications. We
are proud to release a free version (free as in beer, not as in speech) of this tool to the KDE community.

Why free as in beer and not free as in speech?

Klarälvdalens Datakonsult AB has always been very dedicated to Open Source
Software development, all of our employees are involved in KDE development,
and most have a record of open source involvement in the order of magnitude
of 10 years.

Much of our software is dual-licensed under the GPL and a commercial
license, and therefore it has been a great worry for us that we have
so far not been able to make KD Executor available under GPL.

We have reached the conclusion that this is likely never going to
happen, as this would make it very difficult, if not impossible, for
us to sell any commercial licenses, but fortunately we have found a
way to still make it available to our fellow KDE programmers.

To use it you need to set a license key (the version will expire in three
months at which time the final 2.0 version should be released; that
version will not be time-bombed).
To use this key, put the following lines in your .zshrc or equivalent
export KDABEvalKey=69e9ec5ff9e9689c

KD Executor mailing lists

Those of you with an interest may wish to join the mailing list dedicated to KD Executor discussions.

Dot Categories: 

Comments

by John Tapsell (not verified)

What's the use of this?
What does it provide that normal test units and dcop scripts can't?

by Richard Moore (not verified)

Simulation and recording of user actions is something that DCOP and our current tests can't really manage. This has the potential to be very useful.

by James Richard Tyrer (not verified)

Just exactly what are normal tests?

Oh Well. What this type of tool can do?

I see two things.

1. Regression testing: A suite of tests can be developed that every release MUST pass before it is kicked out the door.

2. If you have some sort of intermittent problem this would allow you to do the same thing over and over till it screws up.

--
JRT

by John Tapsell (not verified)

regression testing in 'normal' code (non-gui) isn't difficult (although if this tool can reduce the burden, I'd be interested in how).

Regression testing the actual gui... I suppose, but I'm not convinced that in practice it is needed.

If you have some intermittent problem again you could just run your normal regression tests a lot directly calling the functions, and not needing to do the testing through the gui.

by James Richard Tyrer (not verified)

The purpose of this tool *IS* to test the GUI.

Regression testing is very important. See for example:

http://bugs.kde.org/show_bug.cgi?id=73379

Regression testing should have caught this bug. Without it, KDE-3.2.0 was released without it being completely fixed.

Intermittent problems are usually in the GUI code -- unknown interactions with other stuff.

--
JRT

As a free community I strongly feel it would be a regressive step to accept KD Executor in it's non-free state, regardless of it's technical merits. Perhaps initially efforts should be focused on exploring the problems Klarälvdalens Datakonsult AB face with GPL'ing (or compatible license) KD Executor?

by Cloaked Penguin (not verified)

Agree.

Exactly how may it be useful for me, a KDE application developer?

How hard would be to create similar functionality for kdesdk? Is it worth the time?

by David Faure (not verified)

Imagine you are debugging a problem that happens in a KDE application, after creating a document, creating 2 objects, doing some action, and then opening a dialog and clicking somewhere.

For every little code change you make and want to test, you have to perform the above steps again and again.

With kdexecutor, you can do "kdexecutor myapp", set to recording, perform all the actions above, and it gets saved to a .kdx script.
Then you can make a one-liner script that launches kdexecutor on myapp, to replay all the actions at a very fast pace.
This saves a lot of time, since the application is now very quickly brought to the state where the bug can be seen.

by Martin Galpin (not verified)

Is that an acknowledgment that it would be worth developing a similar application under the GPL or that you support accepting the non-free software? (or perhaps it's neither...)

What are your thoughts?

by Kraig (not verified)

I don't think its helpful to open source development to get to political with companies that are trying to assist open source development. Linux uses bit keeper in kernel development and its not open so what the problem? getting to cared away with licence issues only turns people off to the whole thing.

by Martin Galpin (not verified)

...and as I'm sure you are aware, the Bit Keeper issue has been a very controversial one.

Forgetting the importance of licensing is something we must not do as free operating systems move to the mainstream. To do so would be to forget what the FOSS movement is about, and why it began. Do we want to end up right back where we began?

by Joe (not verified)

Yeah, ok. When you code in the kernel, you can have an opinion. If this helps KDE, then so be it. It is more than what we had before, so we aren't losing anything. Shut up and code.

by Cloaked Penguin (not verified)

I'll shut up, but probably won't be coding this until I find a "crash me" sequence related to user input.

And even then, maybe a separate app will not be the "right way" and I will help improve dcop instead. Or recode my app's dcopness to hack a way through.

The idea is cool, but not cool enough (for me) as to justify not having it straight in kdesdk.

by Guest (not verified)

FWIW, I agree with him. A "shut up and code" approach is exactly what'll get your software owned by some company you've never heard of.

by David Faure (not verified)

Tell me exactly how using kdexecutor gets your software owned by some other company? This is nonsense.

All in all, it's pretty sad. KDAB makes a gift to the KDE community, and people bitch about non-free-software.
Yet when Lindows gave KDE developers access to their (closed source, too) OS, it was pretty cool.

And when Insure gave KDE developers a license to use their tool... well, the dot didn't exist at the time, so people had nowhere to rant about non-free-software.

:(

by John Tapsell (not verified)

Because people are worried.

Say that people put a lot of time and effort into making regression tests for their projects, and then the company asks for more money, or goes bankcrupt, or anything like that.

by David Faure (not verified)

What does this have to do with using KDExecutor in KDE?

Nobody is asking for money in that situation, it's a *free* (as in beer) gift.

If the company goes bankrupt, well, I'm quite sure the source code would then be released.

But anyway, we're not forcing anyone to use it, nor to put a lot of effort creating lots of regression tests with it. I see it much more as a tool to assist debugging, and in such a case there is no long-term commitment to the tool.

by John Tapsell (not verified)

The license expires in 3 months - after which you have to hope that they will give the next one away for free.

And you are "quite sure the source code would then be released". Well I don't see any contract on that like bitkeeper has... Why risk all the development on making tests on a "quite sure" ?

by David Faure (not verified)

The license expires in 3 months only because it's a beta version.
After that we (KDAB) will release the final version, and we surely want people to upgrade to that one to avoid getting bug reports on the old version.
The plan is that the final version will have an unlimited (in time) version available for KDE developers.

No, there is no such contract for "releasing the source code" yet. Come on, it was pretty important to have one for Qt, since all of KDE is based on it, but one for a testing tool? Why do you need such a contract just to use KDExecutor to automate a few testcases for easier debugging?
Oh wait, I forgot. You criticize but don't even work on KDE...

by John Tapsell (not verified)

Why do you say I don't work on kde?
I haven't done a huge amount sure, but I have plenty of patches in kde and a few in the linux kernel, and tons of specialist open source software.

Despite the merits of the software, you can't have an free project rely on the whims of a closed source company. What stops this company waiting till 6months down the line when there are hundreds of hours of tests written, and then demanding a large amount of money for the software? Or changing the license, forcing everyone to accept the the new license? (Of the tool, not the tests of course). Or if the company goes bankcrupt?
And so what if they say they won't. What if they get bought out by another company who does. Or sell the product to another company.

No, it's too risky for a too little gains.

Look at bitkeeper. It was finally accepted because bitkeeper wrote several contracts to ensure that it will always be around (opensourced if the company goes down). It was also accepted because there was no other tool, and writing one would be a huge amount of effort.

by David Faure (not verified)

When will you understand that KDAB is only composed of KDE developers?
Why would we (I work for KDAB) demand money from our fellow KDE developers, or change the license to hurt them??? We're all KDE developers, and up to now we rather trusted each other, and we would certainly not want to lose this trust.
Besides the idea doesn't even hold commercially (no kde developer would pay to use the tool, that's for sure).

Once again, this is only about a tool that helps debugging.
I don't suspect KDE developers will write hundreds of tests with it; we (KDE, this time) are not known for spending too much time on regression testing, unfortunately - otherwise there would already be much more unit testing in kdelibs... The "dependency" on kdexecutor is only in your mind.

The whole point is to make our fellow KDE developers benefit from a useful tool, while still being able to sell the tool to companies.
Can people stop seeing evil conspiracies every time the word 'company' is mentionned?

by Source (not verified)

"What stops this company waiting till 6months down the line when there are hundreds of hours of tests written, and then demanding a large amount of money for the software? Or changing the license, forcing everyone to accept the the new license? (Of the tool, not the tests of course). Or if the company goes bankcrupt?"

Can you answer it? What if this happens? What's the problem? I don't get it.

by John Tapsell (not verified)

Ah sorry. My point was that you could end up with a lot of test scripts that you couldn't use because you can no longer use the software.

by Anonymous (not verified)

What's the problem if they change the license in the future? KDE developers will still have a valid license for the version they are using. No one can take tht away from them.

by Source (not verified)

Take KDE default icons, for instance. They are free as in speech but developed with non-free tools (not even as in beer!): http://linuxcult.com/?m=show&id=157

Same in this case, there is a non free tool to do the job, any developer is free to get a licence and use it if he wants too, (including KDE developers). Now they can get it for free.

And how are they risking development by using it? If for some reason they have to stop we'll be back to where we were before... "Ah! but it would be better to have a free as in speech tool!". Yeah, there are many apps around missing in KDE, and we can't blame it on commercial apps giving free licences because they aren't.

by John Tapsell (not verified)

I don't know about the icons.
If the icons are based on propreitry file formats, then that is dangerous as well. Look at .gif for example.

by Source (not verified)

The icons were created with commercial tools.
The icons are free.

Understand where I'm getting at?

by John Tapsell (not verified)

First of all, you probably mean proprietry.
Second of all, you missed my point about the file format being the important bit.

by Source (not verified)

No I mean commercial! The software used by everaldo to make the icons is commercial. The format is not proprietary.

And that's my point exactly, the important bit is the file format not beeing proprietary, not which tools were used.

by Chakie (not verified)

Would you please quit whining about the license stuff? Don't use the tool if you don't like the license, but let others enjoy it if they need something like that. You don't even seem to care a bit about these kinds of tools, so please stop flaming KD for giving the KDE community a gift.

by cm (not verified)

> If the company goes bankrupt, well,
> I'm quite sure the source code would then be released

Maybe Klarälvdalens Datakonsult AB and KDE e.V. could set
up an agreement like the "KDE Free Qt Foundation"
to remove any doubt? I've seen the foundation being mentioned
quite a few times in discussions as a strong argument for Qt.

Maybe develop a standard procedure for this kind of situation?
This could encourage other companies to do the same...

But even if they don't... a gift is a gift and the offer is appreciated.

by David Faure (not verified)

This is actually quite funny when you realize that the CEO of KDAB is a board member of KDE e.V. ...

by Anonymous (not verified)

Even president of KDE e.V.

by David Faure (not verified)

Right. So Kalle would be effectively signing a paper with himself. LOL.

I think people should just stop and realize that KDAB can only be acting in KDE's interests, given that KDAB _is_ only KDE developers.

by cm (not verified)

> Right. So Kalle would be effectively signing a paper with himself. LOL.

Well, why not? :)
Legal stuff is sometimes strange...

> I think people should just stop and realize that KDAB can only
> be acting in KDE's interests, given that KDAB _is_ only KDE developers.

Yes, I know. The point is that
a) written guarantees seem to be important for some people
(I'm *not* talking about myself in this case, I'm not worried
about KD Executor)
and
b) I can imagine situations where the current owners of the company
are no longer free to release the source code, e.g. in case of bankruptcy.
For example, in Germany there's someone called "Insolvenzverwalter"
who chooses what to do with a bankrupt company's assets, AFAIK,
so that suppliers' claims are satisfied as much as possible.
(IANAL, though.)

by David Faure (not verified)

I see your point.
This makes sense.
I'll talk to Jesper and Kalle about it.

by Kraig (not verified)

People are making decisions based on emotions and not logic. These are the GNU fanatic types.

by Guillaume Laurent (not verified)

> Because people are worried.

Oh please, give us a break. I'm reading this thread and it's clear that absolutely none of the people complaining about this have any clue on regression testing or even software development in general. They are arguing for the sake of it.

We're extremely grateful that KDAB made this tool freely available, and we'll certainly be using it for Rosegarden (for the record, nobody in the rg dev team was stupid enough to complain about the license).

by David (not verified)

Well, I don't think we should get into arguments about licenses. If there is a need for a free version then there will be one. They will then just have to accept that they will sell less licenses as a result. If people like this and feel fine, then there will not be so much need for a free version because people will be happy. Make sense?

by John Tapsell (not verified)

Sounds good.

I'm getting flamed here because I bring up concerns on just accepting proprietry tools in the development cycle. And my concerns are practical.

As long as there are no patents in the fileformat, and it can be easily rewritten if the company goes bad, then sure, go for it.

by Spy Hunter (not verified)

I think you're underestimating the usefulness of this tool. What if it came with every KDE installation and was activated by the Report Bug menu item? Users could submit bug reports with full testcases, extremely easy to reproduce, with hardly any effort. Also, KDE could have a suite of automated regression/crash tests using a tool like this. Shame about it not being GPL though.

KD Executor has another kind of freedom you failed to mention.

1) You are free to use it.

2) You are also free not to use it.

Unfortunately, KD Executor also takes away your freedom:

3) You are not free to forbid others from using it freely.

So I hope you understand this, and are able to live with the fact that others may use this tool even though you yourself don't want them to. A free world is sometimes hard to live in...

by Martin Galpin (not verified)

If you're thinking I was forbidding, then you are misunderstanding. I am simply voicing my concerns for our community. As a community however, we should stand as one and that is why it's necessary to have these discussions.

Actually, it's more like he who codes (tests) decides.

by Eric Laffoon (not verified)

Not to question where you are in the community, I'm just not familiar with you. On the other hand when you talk about who the people behind Klarälvdalens Datakonsult AB are you are talking about people who have been central to the KDE community for years, who also happen to have a business in professional software development. They have been involved with a number of projects including the contracts by the German government where they contributed back to the community with the Kolab server and were involved with changes to Kmail and some of the work that lead to Kontact IIRC. One of their developers is the guy who came up with kparts, and if you know the history there and the work being done by some of these developers you'd probably be singing their praises for how key their contributions have been and continue to be for KDE.

I am as big of an advocate of free, as in speech, as any reasonable person. It was really my love of free software that caused me to take my own money, at one of the most personally and financially difficult times of my life, and sponsor ongoing development of Quanta. As much as I believe in free software I don't doubt these people's motivations for releasing to us, free as in beer, for a second. As much as I wish all such tools arrived free, as in speech, I believe it is in my best interests as a KDE developer and user for these guys to be able to make such decisions on a business basis. The simple reason is, it helps enable them to continue to produce KDE software that is free, as in speech, which they have a long and distinguished record of doing.

All I see is a company that has put time effort and money into their passion for KDE and worked their contracts to enable them to return software to the community. In this case they saw this as the only way they could make the gift, and in fact they did gift it to us. If you have a problem with that fine. Don't use it. All I can look at is who is doing what, and the reputation and commitment to the community of these developers is as strong as they come. It really sucks to take your time and money, gift it to people in the form of software and then be criticized because it fails to conform to someone's ideals. The alternative here would be for them not to have gifted us.

Let's keep in mind that what is being offered here is free access to a tool that is being commercially developed to help improve professional software development on our platform. Think about that. That brings users and developers to KDE. This can also help us improve free, as in speech, KDE software. When people I admire a great deal offer to help me for free I don't squabble about the fact that they need to make a living too.

As a KDE software developer I want to say thank you guys. I can appreciate the process you went through in this decision and that you didn't have to do it. I for one appreciate it. I encourage those who don't like it to exercise their freedom to ignore the gift of this software. I only hope doing so doesn't cause unnecessary bugs to be left in their software for their users to endure, assuming they are actually developing software.

by David Faure (not verified)

Thanks, Eric.

It's good to see that some people understand what a gift is.

All the best,
David.

by Martin Galpin (not verified)

You can understand and appreciate gifts at the same time as questioning their nature.

But doing that publically is highly unpolite toward those who a giving the gift. If you are questioning the nature of one's gift you can still reject it, dragging the sponsor into mud merely for "questioning the nature of a gift" is a joke.

by Martin Galpin (not verified)

Doing it publically is both inevitable and necessary, it's something we need to debate.

by John Tapsell (not verified)

You are basing your argument on the unspoken assumption that they have nothing to gain from this.
They are probably doing this to advertise their product (not a bad thing).

Besides, just because it's a gift, doesn't mean it's a good thing overall.
Try giving linus a gift of code, and see if he'll add it to the kernel without interrogating the code.