diff options
author | Chris Xiong <chirs241097@gmail.com> | 2024-06-22 19:59:16 -0400 |
---|---|---|
committer | Chris Xiong <chirs241097@gmail.com> | 2024-06-22 19:59:16 -0400 |
commit | 4e1a29cab8d31cff30d88d2dfc0f526372fc33bd (patch) | |
tree | 7a0c9b5d4a57ed734018b447eafdf5f51ab43151 /blog/post/2018-06-05.html | |
parent | e81928f76ab105c65a0a0997c289f0f521589128 (diff) | |
download | web-4e1a29cab8d31cff30d88d2dfc0f526372fc33bd.tar.xz |
Move blog posts out of the tree.
Diffstat (limited to 'blog/post/2018-06-05.html')
-rw-r--r-- | blog/post/2018-06-05.html | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/blog/post/2018-06-05.html b/blog/post/2018-06-05.html deleted file mode 100644 index f825c24..0000000 --- a/blog/post/2018-06-05.html +++ /dev/null @@ -1,186 +0,0 @@ -<!DOCTYPE html><html><head> -<meta charset="utf-8"> -<meta name="viewport" content="width=device-width,initial-scale=1"> -<meta name="theme-color" content="#000000"> -<title>Chrisoft::Blog(r#"Software Project Management in the Free Software World")</title> -<meta name="description" content="«Software Project Management in the Free Software World» de spelunca ursae"> -<meta name="author" content="Chris Xiong"> -<script type="text/javascript" src="/panel.js"></script> -<script type="text/javascript" src="/themer.js"></script> -<script type="text/javascript" src="/blog/footnoter.js"></script> -<script type="text/javascript" src="/blog/aes-js.js"></script> -<script type="text/javascript" src="/blog/scrypt.js"></script> -<script type="text/javascript" src="/blog/sha256.js"></script> -<script type="text/javascript" src="/blog/decryptor.js"></script> -<link rel="stylesheet" type="text/css" href="/common.css"> -<link rel="stylesheet" type="text/css" href="/panel.css"> -<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a"> -<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b"> -<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a"> -<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b"> -<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a"> -<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b"> -<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a"> -<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b"> -<link rel="stylesheet" type="text/css" href="/blog/blogext.css"> -<script> -function ol() -{ - window.onresize=function() - { - if(window.innerWidth<768) - setupevents(); - else unsetevents(); - } - window.onresize(); - loadTheme(); - _decryptonload(); -} -</script> -</head> -<body onload="ol()" style="overflow-x:hidden;"> - <div id="panel" class="TText"> - <ul id="panellist"> - <li><a href="/"><h1>Chrisoft</h1></a></li> - <li><a href="/blog"><h2>Blog</h2></a></li> - <li><a href="#"><h3 id="title">Software Project Management in the Free Software World</h3></a></li> - <li><span>Tags</span> - <ul id="tagslist"> - <li><a href="/blog/list/sophistry/">sophistry</a></li></ul> - </li> - <li id="tocouter"> - <span>Table of Contents</span> - <ul id="tocroot"> - <li><a class="toctarg" href="#tocanch0">Project charter. What?</a></li><li><a class="toctarg" href="#tocanch1">Tools and outdated approaches</a></li><li><a class="toctarg" href="#tocanch2">Free software that is...</a></li></ul> - </li> - <li style="margin-left:-0.5em"><a id="prevp" href="2018-05-18.html">Prev post</a></li> - <li style="margin-left:-0.5em"><a id="nextp" href="2018-06-07.html">Next post</a></li> - </ul> - </div> - <div id="content"> - <h2 id="titleh" class="TText" style="font-wight:normal;">Software Project Management in the Free Software World</h2> - <div id="datetags" class="TText" style="margin-bottom:1em;">2018-06-05<br>#sophistry</div> - <hr><div id="article" class="TText"><article> -<p> -This article is based on a presentation project I did for the software -project management course. The original presentation can be found -<a href="//filestorage.chrisoft.org/blog/data/ventriloquist.pdf">here</a><a id="n1" href="#note1" class="note">[1]</a>. -</p> -<p> -As mentioned in <a href="https://chrisoft.org/blog/post/2018-05-18.html#tocanch4"> -another article</a>, software engineering college -in China (one of which I am currently studying in) mainly deals with -the development cycle of proprietary programs with a very specific purpose -(i.e. enterprise software), such as software system for a library or an -electric grid. Unfortunately, there are very few instances of free -enterprise software in the wild. Therefore it's safe to assume that I still -know nothing about the life cycle of a free software project except my own -experience. -</p> -<h2 id="tocanch0" class="tvis">Project charter. What?</h2> -<p> -Approximately 50% of the class is focused on the project charter. How the -charter is issued. Why modifying the charter is vital when the client requests -to make a change in the requirements. This list can go a lot longer. -</p> -<p> -However, project charter doesn't seem to play an important role in free software -projects, at least compared to what I have learned. Even some <i>huge</i> free -software projects such as KDE omits the project charter. Instead they have brief -description of every sub-projects and use their 'philosophy' to govern the whole -project. -</p> -<p> -This can lead to problems though. When decisions need to be made, the only ones -involved are the current maintainers. Free software projects fall into roughly -four categories according to the way new features are introduced: -</p> -<ul> -<li>Linux kernel/LineageOS: developers submits changes, got reviewed, and -possibly merged. -<p>Linux kernel is such a huge and complex project that probably only users -extremely familiar with it know what new functionality they need. Also -the code needs to have a reasonable wide range of use cases to be merged. -This sets a pretty high standard for the contributors. LineageOS, on the -other hand, is a lot easier to get started. However being mostly a community -project, they cannot simply get every requested features implemented without -help.</p> -</li> -<li>i3wm: this will never turn into compiz. -<p>It is important for i3wm not to turn into compiz. However sometimes this -can be abused for dictatorship over the project (e.g. gogs, which resulted -in a fork into gitea.<a id="n2" href="#note2" class="note">[2]</a>)</p> -</li> -<li>systemd: let's add a email client to this. -<p><s>j/k.</s></p> -</li> -<li><a href="#tocanch2">...</a></li> -</ul> -<h2 id="tocanch1" class="tvis">Tools and outdated approaches</h2> -<p> -Over the years, the process of building a commercial software has evolved a -lot. However, the process of building free software seem to be stuck at what -it was like in the 70s forever: (nearly) everything is still on mailing lists. -Indeed, VCS, issue tracker and CI simplified a lot of stuff. And the -infrastructure has also improved a lot from that of the 70s. But we are still -no where close to a well-organized process. Personnel management is almost -completely relying on faith. Deadlines can be pushed back again and again. -That's it. -</p> -<h2 id="tocanch2" class="tvis">Free software that is...</h2> -<p>... developed as if it was proprietary software.</p> -<p> -A very typical instance: Android. Repositories are not updated until new -release comes out. Many related patents are held by Google. Even codename -needs revealing. -</p> -<p> -Another (less-known) example is Deepin, which one of my friends works for. -It's infra is far less open to public than that of Debian or even Ubuntu. -Public opinions are ignored from time to time. -</p> -<p> -While making the project much more better-organized, this approach -automatically makes the project dictated by the project management team. -Many benefits of free software doesn't apply to such projects, which -makes them closer to those 'shared source' software. Although still can be -forked freely, most forks die out pretty quickly, as these projects tend -to be pretty large in scale, maintenance of such a project is no trivial task. -</p> -<p> -This is certainly not the best way to do it. -</p> -</article> -<!-- -vim: syntax=html spell spelllang=en_us ---> -</div><br><hr> - <div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: I used the term -"open source" in the original -presentation, which is more familiar to the audience. But the actual focus -is the free software world.<br></span><span class="TText"><a id="note2" href="#n2">[2]</a>: The maintainer of gogs is <br></span></div> - <div id="insanch" style="height:3em;"></div> - <div id="footer" style=""> - <div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div> - <div style="text-align:center;" class="TText"> - Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5 - <br> - Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span> - </div> - </div> - <div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;"> - </div> - </div> - <div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;"> - <div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);"> - <div id="keyhint" style="margin-bottom:8px;"></div> - <div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div> - <div style="height:2.25em;"> - <button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button> - <button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button> - </div> - - </div> - - -</div></body></html>
\ No newline at end of file |