Python is the number one language for software prototyping. It allows to create GUI applications without much problems. But Python has some problems. First is, that the resulting script won't run on different operating systems, second Python is compared to C very slow and it can't be used for productive systems.
Converting existing Python code into Javascript is way to complicated, But it's possible to use Javascript for new projects written from scratch. The difference between Python and Javascript is little. The node.js interpreter can be called from the IDE and it behaves the same like Python. The most obvious advantage is, that the created Python code runs in any browser. Some blogs are supporting Javascript so the written code can be posted into a blog post and is ready to run within minutes.
Mal überlegen es gibt eine Reihe von MÖglichkeiten: AI foren, programmierwettbewerbe, Academiia.edu, mainstream foren, andere Blogs.
Nur die Frage ist ob ich wirklich feedback will. Mal überlegen bei SE.AI habe ich mitgemacht weil ich Teil einer Gruppe sein wollte die sich mit AI beschäftigt. Jetzt bin ich da seit 3 Monaten nicht mehr dabei und es geht auch so. Versäumt habe ich nichts. Offenbar ist der Fortschritt den ich mache nur abhängig von den commits in meinem Python project aber nicht ob ich in einem Forum darüber rede. Ist also Forschen etwas was man alleine machen muss?
March 01, 2020
Learning from demonstration with Karel the robot
The programming game “Karel the robot” is a runtime engine to execute short scripts. The user can type in a list of commands the the robot will behave according to the statements. A sample program contains of:
right;
forward;
forward;
stop;
The dominant reason why Karel the robot is described in the literature is because it can be used for teaching programming skills. The first task is to program the robot simulator itself, and the second task is to create the script which gets executed in the simulator. Unfortunately, most tutorials doesn't provide further hints how to improve the setup. So it's up to the user to invent an additional challenge on top of the Karel game.
Let us imagine how to combine the technique “learning from demonstration” with “Karel the robot”. Learning from demonstration (LfD) works by defining skills which are stored together with precondition in a database. Learning means, that these skills are generated on the fly by user demonstration. The first task to do is, that the user is operating the Karel robot with a keyboard but not with a program. He is pressing the arrow keys and records a motion over a longer time. Then he demonstrates a second motion and so on.
The idea of LfD is to store the motion recordings in a database.
In the playback phase the karel robot is located at the position (200,100) which fits to motion1 and then the actions from the skill are executed. Sound's pretty easy, isn't it? The idea is not to write a normal computer program which contains of loops and if statements but to create a database with recorded motions. If the database is large enough, every possible situation is provided in advance. The LfD playback engine has to search in the list of all cases and then the motion gets executed. Sometimes, Learning from demonstration is described as similar to case based reasoning because in both cases the database holds the information what to do next.
What is missing in the pipeline is a cost function. A cost function will allow the Karel robot to adapt to new situation more easily. If the robot collides with an obstacle, the cost function will detect it. The result is, that a trajectory from the database can be evaluated if it's useful or not. The planner is searching for a matching case and it's trying to reduce the costs.
A second option to improve the system is to combine create high level skills. Skill1 brings the robot to the middle of the map for different starting positions, while skill2 brings the robot from the middle to the exit of the map. If the script executes a skill not a concrete action is executed, but the skill is a database which contains of possible movements. These cases are searched on the fly.
right;
forward;
forward;
stop;
The dominant reason why Karel the robot is described in the literature is because it can be used for teaching programming skills. The first task is to program the robot simulator itself, and the second task is to create the script which gets executed in the simulator. Unfortunately, most tutorials doesn't provide further hints how to improve the setup. So it's up to the user to invent an additional challenge on top of the Karel game.
Let us imagine how to combine the technique “learning from demonstration” with “Karel the robot”. Learning from demonstration (LfD) works by defining skills which are stored together with precondition in a database. Learning means, that these skills are generated on the fly by user demonstration. The first task to do is, that the user is operating the Karel robot with a keyboard but not with a program. He is pressing the arrow keys and records a motion over a longer time. Then he demonstrates a second motion and so on.
The idea of LfD is to store the motion recordings in a database.
motion0={
precondition=(100,100),
action=[right, forward, forward, stop]
}
motion1={
precondition=(200,100),
action=[left, forward, stop]
}
motion2={
precondition=(100,200),
action=[forward, right, forward, stop]
}
In the playback phase the karel robot is located at the position (200,100) which fits to motion1 and then the actions from the skill are executed. Sound's pretty easy, isn't it? The idea is not to write a normal computer program which contains of loops and if statements but to create a database with recorded motions. If the database is large enough, every possible situation is provided in advance. The LfD playback engine has to search in the list of all cases and then the motion gets executed. Sometimes, Learning from demonstration is described as similar to case based reasoning because in both cases the database holds the information what to do next.
What is missing in the pipeline is a cost function. A cost function will allow the Karel robot to adapt to new situation more easily. If the robot collides with an obstacle, the cost function will detect it. The result is, that a trajectory from the database can be evaluated if it's useful or not. The planner is searching for a matching case and it's trying to reduce the costs.
A second option to improve the system is to combine create high level skills. Skill1 brings the robot to the middle of the map for different starting positions, while skill2 brings the robot from the middle to the exit of the map. If the script executes a skill not a concrete action is executed, but the skill is a database which contains of possible movements. These cases are searched on the fly.
February 24, 2020
Comparison of RHEL with Debian
The Red Hat based Linux distribution has made everything right. They are earning money by selling the software to large companies, they have a free version Fedora distribution to offer which demonstrated the power of Linux and they have a professional community who is well organized. They are maintaining the issue tracker and fix all the bugs.
In contrast the Debian ecosystem is working quite different. The annual conferences are the pure chaos, the Debian software isn't working as expected and they have too much packages in the repository. One of them is fuzzylite, which is a C++ library for creating Fuzzy logic applications. This kind of package is no longer needed, but it seems that the Debian community has a different point of view to this problem.
In general we can say, that Fedora is a here to stay, while Debian blocks the Linux ecosystem. Without Debian, Linux would become a success on the desktop. It seems, that the combination of a non commercial project plus a stable release distribution isn't the best choice. The problem is, that it's not possible to argue against Debian instead the project should be ignored completely. After a while the users will recognize that Fedora is much better than Debian.
The problem with Debian is, that they the community is convinced that they are part of movement. Debian is arguing against Red Hat.
In contrast the Debian ecosystem is working quite different. The annual conferences are the pure chaos, the Debian software isn't working as expected and they have too much packages in the repository. One of them is fuzzylite, which is a C++ library for creating Fuzzy logic applications. This kind of package is no longer needed, but it seems that the Debian community has a different point of view to this problem.
In general we can say, that Fedora is a here to stay, while Debian blocks the Linux ecosystem. Without Debian, Linux would become a success on the desktop. It seems, that the combination of a non commercial project plus a stable release distribution isn't the best choice. The problem is, that it's not possible to argue against Debian instead the project should be ignored completely. After a while the users will recognize that Fedora is much better than Debian.
The problem with Debian is, that they the community is convinced that they are part of movement. Debian is arguing against Red Hat.
February 21, 2020
Why Debian is better than Arch Linux
Debian Linux increases the gap between upstream and downstream. This become obvious, if an upstream developer tries to submit the latest version of his sourcecode. The debain maintainer prevent him for doing so, because only security fixes are applied to existing debian installations. In contrast, the Arch Linux distribution works very close with the upstream. After starting the package manager the upstream sourcecode gets compiled into the latest Arch Linux binary file.
The obvious question is, why should somebody increase the gap between the upstream and downstream? Because it can be filled with a community. This community argues for the Linux distribution and against the upstream. The result is a long running debate held on conferences in which the aim is not to solve conflicts but to increase the misunderstanding. The principle is known from Wikipedia in which all the editors are in a permanent conflict with the admins. The opposite social roles is the strength of Wikipedia and of Debian as well.
In the Arch LInux distribution such a community isn't available. Instead the pacman software is connecting the user with the upstream releases. Pacman doesn't understand English and he won't recognize that the latest kernel will introduce new security problems instead of solving the old ones. Only the Debian community is able to do so.
The obvious question is, why should somebody increase the gap between the upstream and downstream? Because it can be filled with a community. This community argues for the Linux distribution and against the upstream. The result is a long running debate held on conferences in which the aim is not to solve conflicts but to increase the misunderstanding. The principle is known from Wikipedia in which all the editors are in a permanent conflict with the admins. The opposite social roles is the strength of Wikipedia and of Debian as well.
In the Arch LInux distribution such a community isn't available. Instead the pacman software is connecting the user with the upstream releases. Pacman doesn't understand English and he won't recognize that the latest kernel will introduce new security problems instead of solving the old ones. Only the Debian community is able to do so.
February 17, 2020
Docker images with Node.js
https://frontendmasters.com/courses/complete-intro-containers/alpine-node-js-container/
The classical understanding of an operating system is based on the assumption that a physical computer is used. This perspective was available in the early 1990s. Since the advent of virtualization and docker containers the context has changed. It makes no sense anymore to compare operating systems like Windows 10, Ubuntu and Fedora against each other, but it's possible to compare a 3 GB Fedora ISO image with a 50 minideb docker image. This has complicated many things because it's no longer possible to be part of an operating system community like Debian or Windows, but the system administrator will loose all it's experience from the past.
The most advanced form of running a webserver in the year 2020 is a combination of docker, Alpine Linux and nodejs. The resulting image file has a size of less than 50 MB and it doesn't fit in the categories from the past. Alpine Linux is different from Debian or Ubuntu, it has nothing to do with Fedora Linux and it's not part of the Microsoft world. Instead the correct classification for such a webserver is, that it's virtual, runs with Linux as a kernel and it's using a Javascript for providing the functionality.
What we can say is, that the described Alpine LInux project is located in the github universe. It has to do with social coding. This makes it hard for classical communities like Debian user or Windows Server administrators to keep up. Bascially spoken all the manuals written about Windows Server adminstration and all the information in the debian forum are useless to understand Alpine linux plus nodejs. It's simply a new kind of technology unknown before.
One option to deal with this challenge is to ignore the problem. An old school admin can argue, that node.js is not the right choice as a backend programming language, but only PHP and perl can be used for productive systems. Another system adminstrator can argue, that Open Source in general is a bad idea becaue no support is provided. And a debian adminstrator can argue, that it's possible to use the netinstall CD from Debian which needs only 150 MB and can provide a small debian image as well. All these arguments are wrong, instead they want to explain to the world, that nothing has changed and future webservers are powered by the same technology used in the past.
Because so much things are changing all the time it make sense to provide some stability which is constant. The first thing to mention is, that the outdated technology and the newer technology in the now are both described in books and papers. The library catalog will provide information how a webserver was installed in the early 1990s, in the mid 2000s and in the 2020s as well. A second thing which doesn't have changed in the last 30 years is, that all the technology has to do with writing sourcecode. A c program in the year 1980s has a similar syntax like a c program in the year 2020. And last but not least, technology is usually connnected to profit interests of companies. The early computer revolution in the 1980s was powered by tech companies listed at the NASDAQ, 40 years later new tech companies are listed at the same stock exchange. Especially the Open source movement doesn't have changed this situation. The light houses in open source development like Red Hat, Amazon and Google are for-profit companies. They are not programming software because it's fun, but because it's their business.
The best idea what computer experts from the past are able to do is attack new developments like Alpine Linux. It's the most hated Linux project because it's so different from operating systems in the past. There are many blog postings available in which longterm experts are explaining to the world, why they are stay away from docker in general and alpine in detail.
The main difference of Alpine LInux over classical operating systems is, that it's very efficient. Installing a new system from scratch takes around 2 seconds and the size is around 30 MB. And the exact details how to do this isn't described in classical Linux manuals from the past but they were written from scratch by Alpine developers. So they will become the new gurus who are telling other users what to enter on the command line.
The only good news with Alpine Linux is, that it's based on the LInux kernel which was written in C. It's only a question of time, until Forth developers are feeling motivated to show that world, that they can provide the same functionality with a stack based approach ...
The classical understanding of an operating system is based on the assumption that a physical computer is used. This perspective was available in the early 1990s. Since the advent of virtualization and docker containers the context has changed. It makes no sense anymore to compare operating systems like Windows 10, Ubuntu and Fedora against each other, but it's possible to compare a 3 GB Fedora ISO image with a 50 minideb docker image. This has complicated many things because it's no longer possible to be part of an operating system community like Debian or Windows, but the system administrator will loose all it's experience from the past.
The most advanced form of running a webserver in the year 2020 is a combination of docker, Alpine Linux and nodejs. The resulting image file has a size of less than 50 MB and it doesn't fit in the categories from the past. Alpine Linux is different from Debian or Ubuntu, it has nothing to do with Fedora Linux and it's not part of the Microsoft world. Instead the correct classification for such a webserver is, that it's virtual, runs with Linux as a kernel and it's using a Javascript for providing the functionality.
What we can say is, that the described Alpine LInux project is located in the github universe. It has to do with social coding. This makes it hard for classical communities like Debian user or Windows Server administrators to keep up. Bascially spoken all the manuals written about Windows Server adminstration and all the information in the debian forum are useless to understand Alpine linux plus nodejs. It's simply a new kind of technology unknown before.
One option to deal with this challenge is to ignore the problem. An old school admin can argue, that node.js is not the right choice as a backend programming language, but only PHP and perl can be used for productive systems. Another system adminstrator can argue, that Open Source in general is a bad idea becaue no support is provided. And a debian adminstrator can argue, that it's possible to use the netinstall CD from Debian which needs only 150 MB and can provide a small debian image as well. All these arguments are wrong, instead they want to explain to the world, that nothing has changed and future webservers are powered by the same technology used in the past.
Because so much things are changing all the time it make sense to provide some stability which is constant. The first thing to mention is, that the outdated technology and the newer technology in the now are both described in books and papers. The library catalog will provide information how a webserver was installed in the early 1990s, in the mid 2000s and in the 2020s as well. A second thing which doesn't have changed in the last 30 years is, that all the technology has to do with writing sourcecode. A c program in the year 1980s has a similar syntax like a c program in the year 2020. And last but not least, technology is usually connnected to profit interests of companies. The early computer revolution in the 1980s was powered by tech companies listed at the NASDAQ, 40 years later new tech companies are listed at the same stock exchange. Especially the Open source movement doesn't have changed this situation. The light houses in open source development like Red Hat, Amazon and Google are for-profit companies. They are not programming software because it's fun, but because it's their business.
The best idea what computer experts from the past are able to do is attack new developments like Alpine Linux. It's the most hated Linux project because it's so different from operating systems in the past. There are many blog postings available in which longterm experts are explaining to the world, why they are stay away from docker in general and alpine in detail.
The main difference of Alpine LInux over classical operating systems is, that it's very efficient. Installing a new system from scratch takes around 2 seconds and the size is around 30 MB. And the exact details how to do this isn't described in classical Linux manuals from the past but they were written from scratch by Alpine developers. So they will become the new gurus who are telling other users what to enter on the command line.
The only good news with Alpine Linux is, that it's based on the LInux kernel which was written in C. It's only a question of time, until Forth developers are feeling motivated to show that world, that they can provide the same functionality with a stack based approach ...
February 16, 2020
Alternatives to Debian
The Debian distribution is a very influential Linux distribution. It is available since the 1990s and the successful derivative Ubuntu is using Debian packages as the base. I'm sorry to explain, that the Debian ecosystem is no longer stable but it has developed into a failed Linux distribution. Instead of explaining the problems of Debian itself it make sense to describe the situation in the year 2020 if somebody likes to install a webserver. The interesting point is, that a webserver doesn't mean, that somebody booting up a pentium I PC which contains of a CD-rom drive and a magnetic harddrive. Secondly it doesn't mean, that somebody is using an SSD drive in a modern rack mounted server, but it means, that somebody pulls an operating system into a docker container and deploys this into the cloud.[1]
A docker container is a virtualized server. It reduces the costs and has became the defacto standard for all the webservers. In theory, it's possible to install a debian operating system in a docker container but in reality lightweight distrubutions like Alpine Linux were used for this purpose. Alpine Linux is a relative new development. It was first published in 2010 but has become very successful. It's not based on Debian and not on Fedora, but it was developed with a different purpose in mind.
What we can say for sure is, that Debian can't compete with Alpine Linux. Only another Docker-friendly Linux distribution can compete with Alpine Linux. But if Debian is no longer relevant for a text-only webserver, which purpose is fulfilled by the project? Right, it has become obsolete. If the idea is to provide not a cloud webserver but a desktop operating system there are many alternatives to Debian. One is Clear Linux. Clear Linux is very different from classical desktop operating systems. It is working with a combination of highly optimized binary files plus an incremental update mechanism. Similiar to Alpine LInux it's a very new development not available in the past.
We can say in general that the computing industry has changed a lot over the times. Innovations like github, Stackoverflow and Google Scholar were not available 20 years ago. The disadvantage of this development is, that projects from the past will become obsolete. They are not serving the needs of today's programmers anymore. Debian is one example for an outdated project. Similar to Windows XP and Google+ the service has lost it's influence. The Ubuntu operating system which includes the well written Wiki was perhaps the greatest milestone in the long history of Debian. Bye.
[1] Zerouali, Ahmed, et al. "On the relation between outdated docker containers, severity vulnerabilities, and bugs." 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 2019.
A docker container is a virtualized server. It reduces the costs and has became the defacto standard for all the webservers. In theory, it's possible to install a debian operating system in a docker container but in reality lightweight distrubutions like Alpine Linux were used for this purpose. Alpine Linux is a relative new development. It was first published in 2010 but has become very successful. It's not based on Debian and not on Fedora, but it was developed with a different purpose in mind.
What we can say for sure is, that Debian can't compete with Alpine Linux. Only another Docker-friendly Linux distribution can compete with Alpine Linux. But if Debian is no longer relevant for a text-only webserver, which purpose is fulfilled by the project? Right, it has become obsolete. If the idea is to provide not a cloud webserver but a desktop operating system there are many alternatives to Debian. One is Clear Linux. Clear Linux is very different from classical desktop operating systems. It is working with a combination of highly optimized binary files plus an incremental update mechanism. Similiar to Alpine LInux it's a very new development not available in the past.
We can say in general that the computing industry has changed a lot over the times. Innovations like github, Stackoverflow and Google Scholar were not available 20 years ago. The disadvantage of this development is, that projects from the past will become obsolete. They are not serving the needs of today's programmers anymore. Debian is one example for an outdated project. Similar to Windows XP and Google+ the service has lost it's influence. The Ubuntu operating system which includes the well written Wiki was perhaps the greatest milestone in the long history of Debian. Bye.
[1] Zerouali, Ahmed, et al. "On the relation between outdated docker containers, severity vulnerabilities, and bugs." 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 2019.
Debian is dead
The amount of subjectives judgements about Debian is high. The problem in the past was, that no alternative was available and the arguments were not based on academic standards. A user from the docker community has changed the situation and published a paper, in which a newly developed tool was used to scan docker images for security problems.[1]
Especially debian based images were scanned and lots of unfixed security problems were found. Nearly 100% of the debian docker images which are hosted in the cloud are vulnerable to attacks. In the same paper a possible alternative was mentioned, which is Alpine linux [2]. Alpine linux is different from Debian or Fedora and was developed with a docker container in mind. It's a security hardend, slim down version of an operating system and runs in the cloud but also on a rasberry pi computer.
The study [1] has shown very concrete what the problem with debian is. According to the debian manual, a typical websever has a debian sticker on the front panel, consists of a CD-ROM drive and minor updates are left but only important updates are installed every 6 months. This kind of description was correct in the early 1990s but fails to describe the current situation. Basically spoken, it make sense to argue against Debian, and the only thing which is important is to bring the argument on an academic level.
[1] Zerouali, Ahmed, et al. "On the relation between outdated docker containers, severity vulnerabilities, and bugs." 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 2019.
[2] https://nickjanetakis.com/blog/the-3-biggest-wins-when-using-alpine-as-a-base-docker-image
Especially debian based images were scanned and lots of unfixed security problems were found. Nearly 100% of the debian docker images which are hosted in the cloud are vulnerable to attacks. In the same paper a possible alternative was mentioned, which is Alpine linux [2]. Alpine linux is different from Debian or Fedora and was developed with a docker container in mind. It's a security hardend, slim down version of an operating system and runs in the cloud but also on a rasberry pi computer.
The study [1] has shown very concrete what the problem with debian is. According to the debian manual, a typical websever has a debian sticker on the front panel, consists of a CD-ROM drive and minor updates are left but only important updates are installed every 6 months. This kind of description was correct in the early 1990s but fails to describe the current situation. Basically spoken, it make sense to argue against Debian, and the only thing which is important is to bring the argument on an academic level.
[1] Zerouali, Ahmed, et al. "On the relation between outdated docker containers, severity vulnerabilities, and bugs." 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 2019.
[2] https://nickjanetakis.com/blog/the-3-biggest-wins-when-using-alpine-as-a-base-docker-image
February 14, 2020
Github has replaced debian
The first debian release was published in 1993. In that time, the github repository wasn't available. It was founded in 2008. Let us imagine who bugtracking and patch submitting was handled by the Debian community before the advent of github.
Suppose, a user has identified a bug or a security issue in one of the debian packages. What he needs is a higher instance to report the error. This is equal to the debian mailing list. The maintainer who is receiving the bug has access to the sourcecode because it's stored in the debian repository. So the maintainer can take a look into the code and create a patch. Then the patch is submitted to the upstream.
Bascially spoken, Debian was a manual version of the github repository. It was a layer between bug reports, patches and the sourcecode. Since the year 2008 the github project was available. The consequence was, that the debian layer was no longer needed. A common workflow which includes github is working the following way: the user sends the bug not to the debain maintainer but creates the ticket in the github repository. He has also access to the sourcecode and the user can checkout the code and create a patch.
The interesting feature is, that github doesn't need human intervention but it's working with commands like git clone and git commit. Basically spoken, github has replaced debian.
The consequence was, that from 2008 on many so called rolling release distribution have become popular. The famous one is Arch Linux. The interesting point in Arch Linux is, that the users are not sending bugs to the Arch Linux mailing list and they do not sending patches to the Arch Linux team. If they find a bug or like to fix a bug, they will submit the commit direct to the github repository.
Or let me explain it the other way: Suppose, there is no github website available. Then it make sense to invent a debian like distribution which is based on bugtracking, stable releases and maintainers. Not Red Hat has killed debian but it was github. The thesis is, that the github website acts as a Linux distribution.´ There are places for the x11 sourcecode https://github.com/mirror/libX11 and the geany texteditor https://github.com/geany/geany If the process of bug creation and patch creation are handled by the git tool and the github website, the amount of work located in the linux distribution itself is lower. A rolling release distribution is doing nothing else than taking the latest github sourcecode and compiles this into a binary file. All the communication between users, maintainers and upstream is handled on the github platform but not within the debian distribution.
The funny thing is, that Arch Linux and other distribution are stable release distributions as well. Stable release means, that the code was freezen at a point in the past and then only security bugfixes are provided. The feature of freezing the code is called in the github website “creating a new release”. The github owner is allowed to copy the code on a certain time into a zip file which has become a stable version. This stable release of the github repository is used by a linux distribution to compile the sourcecode.
The funny thing is, that github is not only a website but they are creating conferences as well. In the year 2000 the debian maintainer has meet each other at the debian conference and in the year 2017 they are meeting each other at the github universe conference. Bascially spoken, github has become a universal operating system which bridges the users, developers and maintainers from different operating systems like Linux, Apple, Windows and Android.
According to the latest stats, the debian community consists of around 1000 developers worldwide plus a large userbase which goes into millions. And the github community contains of 40 million users, 100 million repositories and nearly all the programmers in the world.
Suppose, a user has identified a bug or a security issue in one of the debian packages. What he needs is a higher instance to report the error. This is equal to the debian mailing list. The maintainer who is receiving the bug has access to the sourcecode because it's stored in the debian repository. So the maintainer can take a look into the code and create a patch. Then the patch is submitted to the upstream.
Bascially spoken, Debian was a manual version of the github repository. It was a layer between bug reports, patches and the sourcecode. Since the year 2008 the github project was available. The consequence was, that the debian layer was no longer needed. A common workflow which includes github is working the following way: the user sends the bug not to the debain maintainer but creates the ticket in the github repository. He has also access to the sourcecode and the user can checkout the code and create a patch.
The interesting feature is, that github doesn't need human intervention but it's working with commands like git clone and git commit. Basically spoken, github has replaced debian.
The consequence was, that from 2008 on many so called rolling release distribution have become popular. The famous one is Arch Linux. The interesting point in Arch Linux is, that the users are not sending bugs to the Arch Linux mailing list and they do not sending patches to the Arch Linux team. If they find a bug or like to fix a bug, they will submit the commit direct to the github repository.
Or let me explain it the other way: Suppose, there is no github website available. Then it make sense to invent a debian like distribution which is based on bugtracking, stable releases and maintainers. Not Red Hat has killed debian but it was github. The thesis is, that the github website acts as a Linux distribution.´ There are places for the x11 sourcecode https://github.com/mirror/libX11 and the geany texteditor https://github.com/geany/geany If the process of bug creation and patch creation are handled by the git tool and the github website, the amount of work located in the linux distribution itself is lower. A rolling release distribution is doing nothing else than taking the latest github sourcecode and compiles this into a binary file. All the communication between users, maintainers and upstream is handled on the github platform but not within the debian distribution.
The funny thing is, that Arch Linux and other distribution are stable release distributions as well. Stable release means, that the code was freezen at a point in the past and then only security bugfixes are provided. The feature of freezing the code is called in the github website “creating a new release”. The github owner is allowed to copy the code on a certain time into a zip file which has become a stable version. This stable release of the github repository is used by a linux distribution to compile the sourcecode.
The funny thing is, that github is not only a website but they are creating conferences as well. In the year 2000 the debian maintainer has meet each other at the debian conference and in the year 2017 they are meeting each other at the github universe conference. Bascially spoken, github has become a universal operating system which bridges the users, developers and maintainers from different operating systems like Linux, Apple, Windows and Android.
According to the latest stats, the debian community consists of around 1000 developers worldwide plus a large userbase which goes into millions. And the github community contains of 40 million users, 100 million repositories and nearly all the programmers in the world.
Subscribe to:
Posts (Atom)