sleske's New Writeupshttp://everything2.com/?node=New%20Writeups%20Atom%20Feed&foruser=sleske2002-10-29T16:29:18ZOpen Source Initiative (thing)http://everything2.com/user/sleske/writeups/Open+Source+Initiativesleskehttp://everything2.com/user/sleske2002-10-29T16:29:18Z2002-10-29T16:29:18Z<p>
The Open Source Initiative (OSI) is a <a href="/title/non-profit">non-profit</a> corporation dedicated to promoting the idea of <a href="/title/Open+source">Open source</a>, basically an <a href="/title/Open+Source">Open Source</a> <a href="/title/advocacy">advocacy</a> group.
</p>
<p>
OSI is aimed especially at <a href="/title/business">business</a> and other <a href="/title/pragmatic">pragmatic</a> users, therefore it emphasizes less the freedom aspect of Open Source / <a href="/title/Free+Software">Free Software</a> and instead focuses on the value OS can deliver.
</p>
<p>
One important project of the OSI is the <a href="/title/OSI+certified">OSI certified</a> certification for licenses. This certification, born from the <a href="/title/Debian">Debian</a> guidelines, makes sure that a license meets certain basic requirements with respect to openness.
</p>
<p>
OSI is in a way a pragmatic counter-movement to the more dogmatic (some would say more radical) position of the <a href="/title/Free+Software+Foundation">Free Software Foundation</a>. In particular, <a href="/title/Richard+M.+Stallman">Richard M. Stallman</a> hates the term <a href="/title/Open+Source">Open Source</a>, as he believes that the term makes people forget about the important issue of freedom.
</p>
<p>
<b>Note</b>: see the node on <a href="/title/open+source">open source</a> for a more extensive discussion of the difference between the concepts of <a href="/title/Open+Source">Open Source</a> and <a href="/title/Free+Software">Free Software</a>.
</p>
Helix (idea)http://everything2.com/user/sleske/writeups/Helixsleskehttp://everything2.com/user/sleske2002-10-29T16:15:36Z2002-10-29T16:15:36Z<p>
Helix is also the name of a <a href="/title/project">project</a> started by <a href="/title/RealNetworks">RealNetworks</a>. Under this project, in October 2002 RealNetworks released <a href="/title/source+code">source code</a> and standardized <a href="/title/API">API</a>s to facilitate the use of <a href="/title/digital+media">digital media</a> technology. It tries to provide one framework for all digital media needs, such as <a href="/title/streaming+media">streaming media</a>, both <a href="/title/audio">audio</a> and <a href="/title/video">video</a>.
</p>
<p>
The source code supplied by RealNetworks will be the code for:
<ul>
<li>
a playback application (Helix DNA Client)</li>
<li>
a media server (Helix DNA Server)
</li>
<li>
an <a href="/title/encoding">encoding</a> program (Helix DNA Producer).
</li>
</ul>
In October 2002, code for the client has been released.
</p>
<p>
The source code is offered under either the RealNetworks Public Source License (RPSL), which has been submitted to the <a href="/title/Open+Source+Initiative">Open Source Initiative</a> for <a href="/title/certification">certification</a>, or under a more business-like <a href="/title/license">license</a>, the RealNetworks Community Source License (RCSL).
</p>
<p>
Further information can be found at
http://www.helixcommunity.org
</p>Concurrent (idea)http://everything2.com/user/sleske/writeups/Concurrentsleskehttp://everything2.com/user/sleske2002-01-02T18:44:03Z2002-01-02T18:44:03ZIn computer science, used to describe things which happen at the same time, especially several programs running at the same time.
<p>
The reason for having a special word for this is that <a href="/title/programming">programming</a> becomes much more <a href="/title/complex">complex</a> if programs run concurrently; issues such as <a href="/title/mutual+exclusion">mutual exclusion</a> and <a href="/title/locking">locking</a> arise, and if you ignore them, you may get <a href="/title/bug">bug</a>s which are impossible to hunt down.
<p>
<!-- close unclosed tag --></p><!-- close unclosed tag --></p>stale lock (thing)http://everything2.com/user/sleske/writeups/stale+locksleskehttp://everything2.com/user/sleske2002-01-02T18:37:34Z2002-01-02T18:37:34ZA <a href="/title/lock+file">lock file</a> that stayed around even though it should have been deleted (e.g. the associated <a href="/title/resource">resource</a> is no longer in use).
<p>
Stale locks typically occur when a <a href="/title/program">program</a> (or the computer) <a href="/title/crash">crash</a>es after a lock file was created. One common <a href="/title/strategy">strategy</a> for avoiding stale locks (at least in <a href="/title/Unix">Unix</a>) is to put the <a href="/title/PID">PID</a> of the creating <a href="/title/process">process</a> into the file. If the process designated by the file no longer exists, the lock file may be considered <a href="/title/invalid">invalid</a> (as the process obviously neglected to delete it before it <a href="/title/terminate">terminate</a>d).<!-- close unclosed tag --></p>lock file (thing)http://everything2.com/user/sleske/writeups/lock+filesleskehttp://everything2.com/user/sleske2002-01-02T18:32:12Z2002-01-02T18:32:12ZA <a href="/title/file">file</a> whose existence (or more rarely contents) indicate that a certain <a href="/title/resource">resource</a> is in use. Commonly used to implement <a href="/title/locking">locking</a>.
<p>
Under <a href="/title/Unix">Unix</a>/<a href="/title/Linux">Linux</a> , many programs use lockfiles. They are typically placed under /var/lock .
<p>
Normally a lock file is erased when the associated resource is freed. Sometimes a lock file stays around, e.g. when the program that made it crashed. Those lock files, which lock something that should no longer be locked, are called <a href="/title/stale+lock">stale lock</a>s.
<!-- close unclosed tag --></p><!-- close unclosed tag --></p>locking (idea)http://everything2.com/user/sleske/writeups/lockingsleskehttp://everything2.com/user/sleske2002-01-02T18:19:50Z2002-01-02T18:19:50Z<a href="/title/Computer+science">Computer science</a>: a technique for avoiding <a href="/title/conflict">conflict</a>s if a <a href="/title/resource">resource</a> is accessed <a href="/title/concurrent">concurrent</a>ly. Can be used to enforce <a href="/title/mutual+exclusion">mutual exclusion</a>.
<p>
An example: Say you have a <a href="/title/file">file</a> saved somewhere on a <a href="/title/computer">computer</a> <a href="/title/network">network</a>. Two users A and B both open the file for editing at (roughly) the same time. After some time, A <a href="/title/save">save</a>s the modified file; some time later, B does
the same.
<p>
In this case, whoever saves their work last will <a href="/title/overwrite">overwrite</a> the previously saved version, wiping out those changes, so here A's changes will be lost. This is because B's editor program does not realize the file changed after it was read in initially.
<p>
One way to avoid problems like this is to have some <a href="/title/mechanism">mechanism</a> to indicate that a resource is in use, that it is "locked"; this is called <a href="/title/locking">locking</a>. Often a <a href="/title/lock+file">lock file</a> is used to indicate this, but it can be anything which
all those doing access respect.
<p>
The problem of avoiding or controlling concurrent access arises in all situations where concurrent access can<!-- close unclosed tag --></p><!-- close unclosed tag --></p><!-- close unclosed tag --></p><!-- close unclosed tag --></p>…