Group work in open source projects

Around Open Source projects and especially this one which are driven by team work many myth are told. It seems, that nobody can define exactly how this work in reality. What is explained in the literature is only the technical aspect. That means, the a typical Open Source project is programmed in the C language, is using a git version control system and that the sourcecode is for free. That is all true, but the workflow contains a lot more.

I’ve found a good practical example to explain what the motivation behind open source is. The Lyx textprocessor is well known for it’s capabilities to format academic papers. The user can enter text, insert figure and can reference to an external bibtex-file. A button “generate pdf” creates the final document which was formatted internally with LaTeX. This is in short the idea behind the project. Let us focus on a single feature, which was add recently. The ability of the software to do a contentious spellchecking.

What we have at a starting point is a successful open source project, a functional bugtracker, a mailing list and a wiki. But how gets the new feature into the project. Who is the person, who programs the code, who invests his time to make a spellchecker possible? The good news is, that the workflow can be traced back, because it is all public. According to the website the on-the-fly spelling was sponsored with 1000 EUR https://www.lyx.org/Donate Another URL provides the ticket for the case https://www.lyx.org/trac/ticket/718 It was created in the year 2009. Let us explain what the chronological order was.

At first, somebody created the ticket. He writes down, that Lyx is a nice software but he misses a contentious spellchecking. Writing such a bug ticket is not a big deal. It is usually done by customers who are using the software. Such a description can be interpreted as a feature request. Now, there are two options for the Lyx team. They can either ignore the feature-request or they can obey and implement the spellchecker. They have decided to work hard and in a group to make the wish possible. They reason why they are motivated was perhaps a combination of:

– the feature made sense

– the customer paid 1000 EUR

That money was in the game, is described in the donate-section of Lyx. The sponsors are named and also the amount they spend. What would happen without donation? Would the Lyx software has today a spellchecker? I would guess no, because programming such a module takes time, and why should somebody who is able in doing so, invest his freetime? Yes, there is no good answer.

In reality, Open Source means, that somebody pays for programming works. Without a salary, the open source programmers wouldn’t create a single line of code. This aspect of the Open Source movement is not researched in detail, but at least from the beginning of the GNU movement it is known, that in the 1980s such a role model was discussed. The idea was, to pay programmers, that they create Open Source software. That means, it is a combination of a business model plus a new license model which is called GPL (General public license). This was also the way, the Lyx spellchecking feature was implemented. The added code is available as open source. Everybody can download the software and also the sourcecode. But, the code wasn’t inserted for free as some kind of hobby project, it was sponsored code, created by professionals.

From an abstract perspective, it is ok to call this workflow a “sponsored agile development”. That means, a customer creates a bugticket, pays for the feature, and the software team is answering with sourcecode which fixes the problem. The speed how fast the project is developed, depends on the amount of money the customer want’s to spend. I would guess, that the following situation is possible:

Suppose a customer is very interested in the Lyx software. He creates a long list of features he would like to see. For example, a better translation in other languages, no error message during startup, unicode support, better support for Luatex, integration with jabref and so on. As a motivational help the customer offers 1 million US$ for all the feature. What would happen? The result is, that his feature requests get the top priority and the Lyx team will work very hard to implement each feature perfectly in the software. And if they have not the right programmers for the job, they will hire more from the market. The reason why is because somebody in the Lyx team is aware of the wanted features and he is especially aware of the amount of sponsoring. This forces him to motivate their teammates.

What i want to make clear is, that the inner working of Open Source projects is surprisingly easy. We have to observe the customer of an open source project and the amount of money he spends and this allows a prediction how efficient the code will be generated. If an open source project has no customers, because it is created from scratch by a single person, nothing will happen. The owner of the project will add some lines to the github repository and that’s it. No teamwork will happen, and the project will be a dead end. In contrast, if a project has a customer, and if the customer spends money to implement the features, the project will work much better. Teamwork will be visible and the number of added codelines is high.

Advertisements

Managing Open Source projects

According to the book “Producing Open Source Software: How to Run a Successful Free Software Project, 2006” an open source project contains of a mailing list, a bug tracker and a version control system. Let us describe an example:

A version control system and a bugtracker can be realized with github. It is only one click away. A mailing list can be created with other tools, or in the simple case a Facebook group is well suited. Now the fictional project has everything what is needed. But something is missing: right, the project is not attractive to anybody. After a month, we as the admin are the only guy who is contributing to the github repository, and apart from us nobody else is posting to the Facebook group. It is not wrong to use these tools, but it seems that something is missing.

Successful Open Source projects like the Linux kernel or the Lyx software for writing scientific papers contains usually of the above cited tools. There is a mailing list, a bugtracker and a version control system. But why have these projects traffic but our example project not? The answer is given in the following diagram:

Additional to the technical infrastructure, the figure has a social component which is called customer. The relationship is now divided. The customer is the outside world, while the group is locked in the project. The relationship between the customer and the open source projects defines in which direction the project will go. In our fictional project with a github repository and a facebook group no customer is there. That means, there is no need for traffic. In the case of the Linux kernel there is a customer, called Red Hat. The relationship between customer and project members is defined by money. Here the details: A company like IBM needs a certain feature in the Linux kernel. They are asking Red Hat for doing so. Red Hat collects there feature-request and prioritize them according to what the customer want to pay. IBM says for example, that the new scheduler is fair paid with 10000 US$. This money is the motivation for the Linux kernel team to have a detailed look into the need of IBM. They will analyze the problem, discuss the issues at the mailing list and write a patch to fix the problem. After the modifications runs, IBM pays the money and the transaction is complete. Understanding Open Source projects is possible with understanding the customer relationship and the amount of money which is transferred.

Let us make a different example. Somebody needs a 100 page long academic paper about a topic. This is without any doubt a project which can be done with group work. The naive approach is, if the students starts a github project, and initiate a mailing list. He believes, that his project is so important for the world, that other people will fork his github project with the LaTeX source and discuss the issue on the mailing. This will never happen. After 2 months, the student will alone on his github project, the group work isn’t there.

Now we modify the situation a bit and focus on a customer-relationship. This time, the student goes to a ghostwriter, pays 1000 US$ and after 2 months he gets the paper. It was written by a group, and this group is using github together with a mailing list. What is different, is that a social aspect is there and that some money was transferred.

It seems, that customer relationship and money are going hand in hand. But perhaps we can modify the chain a bit, but maintaining group working at the same time? The Stackoverflow website has an interesting reputation system, called “featured questions”, https://stackoverflow.com/?tab=featured The idea is the somebody sets a bounty (for example 400 points of his score) and after the question gets answered this score is transfered to other party. The result is amazing: Featured questions gets more attention than normal one. A bounty of 400 points is not so valuable like real money but it comes close to the idea. The reputation system abstracts from a concret problem. It is no longer interesting if somebody has a bug with “react-native” or “Json” instead it is about an issue which is connected to a bounty of 400 points, 200 points or whatever.

What I want to make clear, that groupworking needs a customer from the outside. That is the purpose of forming groups, and that is the motivation why the team is working together. Without a customer, the groupworking isn’t there. The success rate of a group is defined by the relationship to the customer. The group is not intrinsically motivated because a certain problem is so interesting. If this would be true, a student can set up a github project with the title “homework: programming a database in Java”, and after one day, he will gets lots of contributers to his project. But this won’t happen. Because the world has different plans than contributing to a students homework.

Stackoverflow’s reputation system

The Stackoverflow reputation system is interesting because it contains no real money but a fictional score at the website. Each user of the website can accumulate points for contributing content. It is similar to a computergame in which the player has also a score. If somebody sets a bounty for a question he doesn’t provide new content to the website, instead he asking the community for providing content. That means, a user sets a bounty and the other side is providing the answer. Suppose, somebody has an unlimited score. He can put via a random generator the maximum bounty of 400 points to all the question he likes. The result is, that these questions gets a higher traffic and after a short time they get answered by the community. This relationship is not totally predictable, because sometimes a question has a bounty but not answer, but in general there is a connection.

The bounty system of Stackoverflow simulates a customer relationship. The user who provides the bounty is the customer. He can ask for support. And the other side has to provide the work.

Exactly the same principle is used by Open Source projects like the Linux kernel. The only difference is, that the bounty there is real money and that the sum is higher. The principle itself remains the same. Somebody has unlimited amount of money, and can exchange this into sourcecode. Other people are able to program the sourcecode but they need the money. The group working is organized in a way, that the people are working together because this allows them to get a higher bounty from the customer. A single programmer is not able to program the request of IBM, but if this programmers talks on the mailing list with other user, they can combine their force. The reason why they are talking on the mailing list is not because they are interested in programming, but they need the bounty.

But let us go back to the Stackoverflow website, which has the advantage that everything is transparent. Suppose somebody is able to provide a bounty. What will happen? He can ask anything what he want. For example “Hello world, i need a gui written in Java which is connected to a server database”. Then he puts the 400 point bounty on this question and waits. What will happen? At first, the traffic of this question will raise. That means, many people are clicking on the question because they want to help. After a while, comments and answers are there. If the problem is larger the people will work together in the hope that each of them gets a proportion of the bounty. That means, user1 gets 200 points and user2 gets 200 points because both have contributed a bit.

But what is the inner principle? Why generate bounty questions more traffic and more answers? This has to do with the social situation. The stackoverflow website works like a computer game. The winner is the person, who gets the highest score. And answering bounty questions is one way to maximize the own score.

Reputation

The reason why people are contributing to a team is because the teams gets reputation. Every company works with that principle. The company has customer, they pay for a service, and this payment is transferred to the individuals in the company. That means, McDonalds employees are not interested foremost in meat in general, they are interested in selling the meat to the customer and receiving back a salary. The workflow is usually organized as teamwork. And if the team become more reputation which is equal to higher sales, this team is attractive to more employees because the hope, that they will get a fraction from the reputation for their own.

What is not widely known is, that apart from business, also scientific projects, open source projects and research can be organized with that principle. If a customer interacts with a a group, the group will find a result. Bringing Open Source projects forward is very simple. All what the group needs are better customers. That means, if the Linux kernel finds somebody who needs Linux and is able to pay for it, the traffic on the Linux mailing list will grow and the number of programmers too.

Customer for the Lyx software

The Lyx software is apart from the Linux kernel another famous example for a successful open source project. Lyx is using like all projects a mailing list, a bug tracker and a version control system. But the success come from a different direction, called customers and sponsering. On the URL https://www.lyx.org/Donate some past subprojects in the Lyx ecosystem are visible. A while ago a, Continuous spell checking feature was implemented. In my installation of Lyx, this feature works great. It is equal to what is known from MS-Word. The user enters text and wrong written words gets a red underline. The more interesting point is how this feature was implemented. It was sponsered and the customer paid 1000 EUR for that. That means, an individual or a company asked for that feature, sponsered the bounty, and the lyx team programmed the sourcecode.

How to fail a Linux project

On the first look, Linux is a great and cheap operating system. If a company is using Linux but not Microsoft, they can save a lot of money. For example, the company needs an Intranet server and pays 1000 US$ for the hardware plus 2000 US$ for the server operating system which is MS Windows. In the case of the Linux, the company would pay 35 US$ for the Raspberry Pi computer and 0 US$ for the Fedora operating system. It is a great deal, isn’t it?

Not for all companies. Let us take a look what happens with failed software projects. The place in which failed it projects are discussed is the court. That means, the company is no longer arguing with the software supplier, but they are using lawyers to fight against the other side. In a typical law case is about many million US$. But where is the place in which failed Linux projects can be discussed? If Open Source software comes without warranty, and the customer didn’t have paid anything, it is not possible to accuse the opposite side in doing something wrong. If a company is using Linux, they are no longer able to go to a court.

This is not equal to that all Linux projects are successful. Instead the place in which failed projects are discussed is different. Usually, failed Linux projects are not discussed with lawyers, but with programmers. They are not talking about million of US$, but about lines of code. There are many companies out there who have no ressources to handle conflicts in such a way. What most companies have learned is how to handle failed software projects in front of a court. They have experts for such a case and they have won many law-cases in the past. But if a company is using it is hard or even impossible to solve a conflict in such a way. Let us go back to the example from the beginning. Suppose, the company has really bought the Raspberry Pi hardware and is using the Fedora version which is for free to drive their infrastructure. From a technical point of view, it is a great decision. The Raspberry Pi computer is well suited for that task, it has an onboard 1000 Mbit ethernet plugin, and the Fedora software boots the system including a fileserver and a webserver. But what will happen, if the company is not happy with that device? What is, if the employees can’t handle it, if booting problems occur and if these problems cost real money?

It is not possible for the company to make a law case against the Raspberry Pi foundation or against Red Hat. Because if a customer didn’t pay anything, he has no obligation to get a compensation back. As far as i know, the Raspberry Pi hardware comes without any technical support, and the same is true for the Fedora software. So, what should the company do? Right, they don’t know. This is the reason, why in a real life situation they wouldn’t use the Linux operating system but the Microsoft product. Which costs more but is predictable for lawyers.

How can a modern company use Open Source software and is able at the same time to handle failed project? The answer is to switch the place in which problems get discussed. In front of a court is not the right place to discuss why the Linux kernel doesn’t boot or the Gnu compiler doesn’t compile. Both are technical issues which have to be discussed on mailing list, at Stackoverflow or with computer experts in real life. Before somebody can switch to Linux, he has to figure out these alternative ways to solve conflicts. That means, he must plan first the case of a malfunction system and must be able to identify stakeholders who can contribute to the problem. Let us make the situation more realistic.

Before a company can use Fedora on a Raspberry Pi mini-server, the company should be aware what kind of online forum is the right place for asking for help and which person in the company can formulate the question. If the company doesn’t know, they will be not happy with Linux. Because the situation, that the project fails is the normal case. According to the latest statistics, 10 out of 10 newly shipped Raspberry Pi computers are difficult to install because the users never had before such a device in use. Most customers are not familiar with the technology. And it is also correct, that 10 out of 10 newly installed Linux systems will make problems in the first week because they doesn’t boot.

Open source software has a different kind of failure management than closed source software. That means, the language used in talking about a failure is different and the place in which failed problems are negotiated are different. Introducing Linux successfully in a company forces the company to adapt to these different kind of discussions.

Migration to Linux is not the best idea

Suppose a company has a Windows Server. The hardware costs are 1000 US$ and the software costs are 2000 US$. Now the company decides to save money and switch from Microsoft Server to a Raspberry Pi system, with costs of 35 US$ overall. Is this decision right? If the company is already familiar with open source and has programmers who are able to ask questions in online forums and can program bash scripts it is the best decision they can made. The company will save around 3000 US$ and the resulting system is more powerful than any Windows server. It is also a great choice in respect to future technology which will be open source only. But what is, if the company is not familiar with Linux, has no programmers who can write bash scripts and doesn’t plan to become familiar with computer technology? This company will run into big trouble. They have a Linux system but they can’t use it. They have the software it has bugs. And if the server doesn’t work, the company doesn’t know how to fix the problem or which person has to be called to solve the issue. At the end, the small Raspberry Pi system will make more problems then the previous Windows Server.

If a company has right now a Windows Server and the system runs stable it is a good idea to stay at Microsoft. It is not possible to transform a company overnight into a Linux-friendly environment in which the employees and the staff is able config-files in the command line or talk with Linux experts in chat to solve specific security issues. If a company defines themself as a low tech company which doesn’t know what Linux is, the best idea is to stay away from Open Source. It is a bad choice to switch to Linux, if the knowledge about compiling software isn’t available inhouse. Learning on the fly, is nothing what a business oriented company can handle. They will fail the task and at the end, they will not have any kind of computer infrastructure.

Switching to Linux is also a bad idea, if the company is more familiar with computers. If only a few employees in the company have experience with the Visual Studio environment but never have used Virtualbox or similar software, the migration to Linux will also fail. If somebody is not able to run Linux in Virtualbox, he is also not able to run it on real hardware. In case of doubt, the best idea is to stay at Microsoft and ignore Open Source software.

The only reason why a company should migrate from Microsoft Server to a Linux server is, if the company defines themself as a tech-company, if 100% of the employees are calling themself advanced programmers, the company needs access to the sourcecode and if the company is interested in working closely with Red Hat for providing kernel changes back to the open source community.

Outsourcing Linux development to Red Hat

In a previous post I explained how Red Hat is earning money. It is the same way, like other staffing companies like Manpower are doing so. Let us investigate the principle in detail. The beginning of the business process is the decision for outsourcing opensource development. For example, IBM needs an operating system for the new Z/OS server. They can program the code by it’s own, or they can outsource the job to somebody how is an expert for it. Red Hat can be called the central hub for opensource development. All the major kernel hackers (Torvalds, Kroah-Hartman and Cox) have a contract there.

The question is: why is IBM not developing opensource software inhouse, why they are using an external staffing firm? It is the same reason, like Manpower and Adecco are so successful in business, because it is more flexible. The reason is, that IBM and other tech companies are not interested in hiring opensource developers inhouse. Because OpenSource is a risky business. It can destroy former closedsource business model and it is more healthy to separate between them. What Red Hat does is programming software for somebody other. Red Hat itself doesn’t need a Linux kernel, because they have no Z/OS machine, and they also have no android phone which they want to sell to the customer. Instead Red Hat has other companies as clients who have a demand for programmers. IBM made the specification, of how the next kernel will look like, and the experts from Red Hat are fulfil the job.

Let us investigate how to compete with Red Hat. Today, Red Hat is the only company who is developing opensource software. Or to be more specific, Red Hat is the only staffing firm who is specialized on employees who are familiar with Linux kernel development. Copying the business model is possible. At first, we need a tech company who has a demand for opensource software. For example, Microsoft. They can decide to develop the code for the new Visual Studio IDE inhouse, or they can outsource the task to an external Manpower-like company, who is specialized on programmers. This newly founded staffing firm would be the direct competitor of Red Hat. They have a client (Microsoft) and they have employees. And they can start to programming code.

Let us investigate what the unique advantage of todays Red Hat company is. It is not the sourcecode, it is the employee they have under a contract. The sourcecode itself can’t be protected, but the employees who are developed them are save. That means, Torvalds is working exclusively for Red Hat, and most of the other programmers too. That means, even IBM wants he can’t hire Torvalds. The business of making opensource and earning money with it, is grouped strongly around certain employees who are a technical expert on a certain field, for example for the storage subsystem of the Linux Kernel or the jboss sourcecode. It is not possible to train an average programmer in a short timeperiod to become familiar with the code. And this is the advantage of Red Hat. They have already people under contract who have written a certain piece of code, and they can easy extend it with new features.

On http://www.briteadvice.co.uk/outsourcing/outsourcing-your-open-source-development/ the concept of outsourcing opensource development is explained briefly. The surprising finding is, that it has nothing to do with programming or Linux, instead the advantage has to do with hiring of people. Outsourcing means, to recruit people in a certain way, use a certain contract with them, and minimizing the overall costs. It seems, that Red Hat is an expert for this niche. They have a talent pool in their database, which makes it attractive for clients to work with them.

Here, https://www.informationweek.com/red-hat-ceo-bemoans-state-of-education-tech-talent-pool/d/d-id/1044688? is detailed description of what Red Hat is in reality. It is not a tech-company, it is a headhunter. Red Hat CEO Matthew Szulik describes how difficult it is to find skilled programmers in the U.S. I’m referencing to the source, to make clear that Red Hat is not competing on the software-level with other companies, but on the talent pool of people they have under contract. The game, what Red Hat is playing is not about Kernel drivers and server software, it is about human-capital.

Let us take a look back in history, how Microsoft went big. The first operating system was an outsourcing project of IBM. IBM only shipped the hardware, and the MS-DOS software came from Microsoft. Later other hardware manufactorer like Compaq sold the computers, and Microsoft added the software which made the hardware more useful.

The problem with Microsoft is, that it is only possible to outsource closedsource software there. That means, if nvidia needs a proprietary driver, Microsoft is the right company for them. But if a hardware manufacture needs an opensource operating system, Microsoft isn’t able to deliver. They have not the right employees for the job. And this is the niche why Red Hat was founded. They are doing all the work, which has to do with software, and which is opensource. Fulfil this tasks, needs a different culture, a certain kind of people and a different business model.

At the end, let us investigate what Red Hat can’t do: everything which is apart from operating system and standard-software. For example, Red Hat is not able to deliver a SAP like business software, they are also not able to create a robotics-control-system. They can only deliver the base-system, which consists of Linux, GUI, desktop applications, and server software.

Saving money in using Linux

spelling

Many companies are trying to reduce their licensing fees. The amount of money they spend for Visual Studio, Perforce, Framemaker and other proprietary software is huge. It is obvious that a transition from Windows to Linux is the right idea. But not so fast. If we are looking at real migration projects in the past, the result is, that after the migration is users are not happy with the system. They don’t like Linux very much, it is too complicated for them. But there is a soft-migration strategy available which I want to present in the following blogpost.

The general idea is, that the user do not delete his Windows OEM version from the PC, instead the Windows 10 operating system is the standard and only software installed on the PC. That means, every program will run on it, and the user doesn’t have to change his work habit. What he is doing instead is too boot Linux in a Virtual machine, for example in Virtual box. And he installs OpenSource under his Windows operating system, for example the LLVM compiler suite which can not only be installed in Ubuntu but also in Windows 10. So it is possible to switch to Linux without inistalling the kernel directly.

It is not a real migration strategy, because the users has best of both worlds. He uses Windows 10 which gives him access to the most dominant software platform today, and on top of it he installs free software which comes for free. This helps him to reduce his licences fees.

Let us investigate a Windows 10 minimal installation further. It means, that only the OEM version is installed on the machine, nothing else. This OEM version is shipped on every new PC but can be bought also for little money. Reducing this costs would be only possible if the user installs Linux as their main operating system, which means to boot the Linux kernel itself. (hard migration). In most cases this is not necessary and the user will loose the ability to run MS-Windows software on that machine. But what he can try out is to replace all other software ontop of the MS-windows operating system. That means, he can replace MS-Office with the windows version of Libreoffice. He can replace Framemaker with the windows version of Lyx and he can replace Visual studio with LLVM for Windows. And with a Linux in a virtual box environment he gets access to powerfull webservers and bash scripting languages.

For most users, this soft-migration / hybrid strategy is the most cost effective solution. It means to be a loyal Windows 10 user which doesn’t use Linux on the machine and at the same time, the user has installed every major Open Source available.

From a technical point of view, the next step after a soft-migration is a full migration. That means to deinstall Windows 10 and instead booting the original Linux kernel. In the new Linux distrubution Windows is installed in a virtual machine or the user do not use Windows anymore. But, this hard-migration strategy is in reality not needed in most cases. It helps to reduce the costs only minimal. The reason is, that the OEM costs for a Windows 10 license itself are very small and if the user do not use the system, he will loose the ability to start Windows applications, which is for most companies a disadvantage.

Marketshare

The marketshare of Linux on physical desktops is small than 1%. That means, noone has installed the system on his PC. But, the marketshare inside virtual machines is much higher. According to the uploaded youtube videos, there are millions of users how have downloaded the Ubuntu Iso image and boot it inside Virtualbox. They are using the distribution not as a replacement for windows, but as some kind of game. They are starting Virtualbox like they start the Minecraft game of trying out some hints.

Getting real numbers is difficult, but i would guess that Linux is by far the most dominant operating system which is running inside Virtual machines on the desktop. From a technical perspective, the users have not installed Linux itself, because the Kernel boots only in sandbox, so it is comparable with a graphicadventure. On the other hand, the users can’t be classified as Windows users, because they are playing around with Open Source software.

Kim Dotcom – leader of the Opensource movement

The songwriter Kim Dotcom has spoken against what he called copyright extremism. https://www.msn.com/en-au/sport/afl/kim-dotcom-i-dont-believe-in-copyright-extremism/vi-BBjKy0o?refvid=BBjNnhM In the interview he gave as an example the Hollywood industry for arguing that copyright must be restricted to empower the customer. I do not believe that Kim Dotcom is right, because Linux itself can be also described as copyright-extremism. The opensource movement not only respect the copyright, it uses it as a viral weapon. For example, if a wikipedia article is under a GPL license published, the user has some obligations.

Was the interview of Kim Dotcom a war declaration against the Open Source movement? I don’t know. Kim Dotcom himself only targets the Hollywood industry but not mentioned the Linux ecosystem. So it is a question of interpretation. Perhaps he can explain in detail what he thinks about the GNU licence ,which was invented by Richard Stallman.

Bug: Lyx makes trouble again

http://www.lyx.org/trac/wiki/BugTrackerHome

After the last month, the Lyx software for authoring ebooks had shown serious problems. After editing a bit in a text, the screen freezes. This problem occurred only sometime, but the View mechanism for preview a pdf-paper is completely broken. Round about every 20th execution the screen freezes after pressing the button. And it depends not only on the pdflatex engine, but also the xelatex engine makes trouble. So my conclusion is, that inside the Lyx program at all is something really wrong.

In most cases the freeze is recognized after 2 minutes from the operating system and the system is killed hard via the dialog-box of Fedora. If the document was saved correctly depends on random. In 90% of the cases it was saved before, but i had also some cases in which after open the paper again, my text was lost. So if somebody has a time-critical workflow with important documents like a phd-thesis i can no longer recommend the software. Instead the better option would be MS-Word which is very stable and runs under all operating systems.