[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - /λ/ - 13958

File: 1454796710187.png (40.91 KB, 300x225, the_box1.jpg)


Someone in the Lisp thread was talking about how CLIM is thought to be dead, but just received a patch. Also, CLIM's examples have worked flawlessly for me. This is weird.

I created a list of things that I would expect to be true about a dead project. None of them seem to capture the actual meaning though.

Nobody is developing the code.
Nobody is using the code.
Online resources are no longer available.
There is no active online community.
The code will not build.
The code will not run.

What does 'dead' mean? Why and when is the word used?


A project is dead when the source code is unavailable.
A project is dead when it is otherwise impossible to work on.

I would really only say these are fulfilled when all knowledge of the project is gone, but the internet makes this seemingly almost impossible. There are probably many projects from decades ago that have no surviving object code, source code, or documentation.

I wouldn't say older projects like ITS or Symbolics Genera are dead.

Of course, projects aren't living things, so they can almost always be 'revived'. You could say BeOS was dead, but then look at Haiku.


File: 1454931427064.png (113.55 KB, 200x123, 28a9d62dc8d5a04f08df4df2f78c293d263fc737.png)


For perspective: Some think nobody is developing with Common Lisp. Some think nobody is using Common Lisp. Online resources are no longer "available" to some because they choose not to read. There is no active online community to some because they choose not to see. Code builds when some think it does not. Code runs when some think it does not. Some consider Common Lisp to be a "dead" programming language because of one or more of the above, but what these people think can never erase the existence of a live REPL sitting in my Emacs buffer nor any code flowing through this moment of mine.

"Dead" rarely means dead to whom "truth" rarely means truth.


Sounds like a good criteria, better than what I've heard that ends up as the equivalent of: "It is 'dead' because I say so."


File: 1454945083911.png (1.99 MB, 200x159, 1427927118070.gif)

I think not having a maintainer is the surest sign. I never thought it had anything to do with usage.



To clarify what I mean in >>13990, "dead" will mean different things to different people in different contexts. The first reply is evidence of this and yours as well. If you are unsure what someone means by the word, my best advice is to figure out through the surrounding context or ask the person for their meaning (just keep that in mind; making this thread to ask was fine too). If you want to get meta about it, think if what "dead" means in the context makes a difference and whether that difference means anything to you. For some more meta on it, think if what "alive" means in the same context makes a difference and whether that difference means anything to you. Anyways, there's additional meta one can think about that's going on, but I hope you get the idea that I wanted.

This link to an article I have added to the end of this post might be of interest to you because it demonstrates what I mean. Granted, the whole thing is translated from Japanese but the title "Emacsは死んだ" does translate directly to "Emacs is Dead." Notice how many usages of "dead" there is in the article. Next, notice the first thing the author does is to address the title before going into detail about what he means. Lastly, notice how all of the reasons listed in this thread mean nothing to the article nor apply to Emacs at all.



I believe interesting threads should have a chance at more discussion than this.

I've already discussed the topic above, but I want to know what others think about it.


I agree with >>13961 that the Internet, in its current form, makes it basically impossible for any established project to die a "true death", to the point where it could never be revived without starting from scratch. And by "established" here I don't mean it has a community with lots of users and developers, it could be something as simple as the code being made available.

I think colloquially, a project to be "dead" means just that development is either not happening at all, or happening incredibly slowly, and any developers are not working on it with any sort of priority. I'm not familiar with CLIM, but I think this definition works for OP's case. People fix issues as they encounter them, and maybe submit their patches, but there is nobody really driving the development forwards in any co-ordinated way.


I use dead in a more communal sense.

>FOO is dead.

>There is no active community around FOO and using FOO.

Strand's McCLIM mplementation is still receiving patches and commits, but there is no community around using McCLIM. The majority of projects involving a GUI in CL use Qt.

Dead can mean a lot of things, but it's usually a combination of those traits. Each one feeds into the other.

>no active community

>"why bother continuing to develop it if nobody uses it?"
>no recent develops, nobody uses it
>nobody uses it, no active community
>code cannot compile or run because of old bugs nobody fixed, nobody uses it
etc. But it seems to come back to the idea of a communal project losing its central community, I think that's the most important part. The other points are either symptomatic of that or lead to that.



CLIM (do you mean McCLIM?) works because the common lisp environment is pretty much static and it runs on top of CLM which is a purely Common Lisp version of xlib - it talks directly to Xorg using a protocol that is extremely stable.

It runs because nothing breaks it.


It means the code is either not changing or not running.


That's pretty close to dead. You don't need users to have a hacker playing with his/her code to get it to do what they want. Most large projects started out as small, "scratching my itch" projects that garnered interest for one reason or another.

However, we then have packages like Nethack, that receive updates very rarely and yet, there's still a community around it.

apulse may be accused of the same; it may not see many updates these days (not sure, but last time I checked it had been a while) but when something works, you go into maintenance mode and just make sure it works with the latest version of the libraries that you use. Many people consider those projects dead; I consider them mature.