Leading A Low-Profile Free Software Project
NEdit is a Linux/Unix "point and click" text editor that gets almost no press but has a dedicated (if small) band of devoted users, including rusty at kuro5hin and myself. We get lots of news about high-profile Open Source and free software projects, but rarely hear about ones like NEdit or the people who lead them -- like Mark Edel, NEdit's original author, who is still the project's integration
"gatekeeper." This is a good opportunity for anyone who is thinking about starting a free software project to ask what it's like to toil in the shadow of giants. Please post your questions below. We'll forward about 10 of the highest-moderated questions to Mark tomorrow, and will post his answers next week.
At the time NEdit was started, there was no real alternative, but if you were starting again today, would you still choose to use Motif?
"The invisible and the non-existent look very much alike." -- Delos B. McKown
First, thanks for producing Nedit. I've been a big fan of the program for years, and it's always one of the first things that I install. I'm wondering how you go about coordinating the development and testing of code on an open source project. Do you create well defined APIs for modules to interact with, and then ask people to work on modules that use those APIs? Do you put one person in charge of each segment of the project? How do you resolve disagreements over the features and functionality of the project? PS. What happened to the // or /* */ commenting macro in Nedit? I miss it!
A lot of people are very hesitant to install a whole set of libraries to run only one application -- almost no matter how good the app is -- when there are 'good enough' alternatives for the standard libs they already have.
Do you feel that NEdit has suffered from not using more popular libraries, and does it matter to you?
Trust the Computer. The Computer is your friend.
I saw some screenshots on your site that show the KDE window manager, but nedit's look is that of CDE. How did you convice Motif to look like it does on a CDE environment without CDE being present?
Although sourceforge says it's been downloaded 63 times, I've received nary a comment or email of any sort. Granted, it needs a lot of work before vaxbb will be an install-n-go program, but I definitely think it fills a niche (I started writing it because I couldn't find a free bb that I liked the look of).
So, after all that intro, my question is: Does a project have to be super-slick before people will use or contribute to it? How does one find developers w/out a huge user base. . .or get a user base without having a fully-developed program?
-Omar
What does it take to get more developers on in on this sort of project. I'm sure there are many people who'd be interested in working on a good project internationally. How does one track them down and get them involved?
In today's world, an editor needs to be able to emulate at least some of the interfaces that folks already know - this is called leveraging the user's knowledge.
In addition, an interface should be designed to be friendly to RSI sufferers. This usually means providing a way of avoiding the mouse, because switching between mouse and keyboard tends to stress the hand. The idea is: provide a point & click interface for beginners, and a keyboard interface for experienced users.
This all leads up to an editor that allows switchable keyboard interfaces so that the large nuber of folks with expertise in emacs, vi, msword, etc can leverage their experience.
Lee Campbell
Always in Error, never in doubt!
My question: has there been consideration of rebaselining it into a truly "portable" language or library set, such as Java with Swing or one of the other "lightweight" open-source multiOS frameworks, or will it stay X-focused for the forseeable future?
I love vegetarians - some of my favorite foods are vegetarians.
What data structure do you use to store the text internally, and why? What trade-offs exist in your approach?
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
One of the problems is that people will not contribute to a project if they don't have any way to see it being used or see that it has a good code base. This goes for any project that you want to have people work on. This is purely psychological but is deeply engrained in how people think.
PS. It would also help if you uploaded at least a temp page for sourceforge. I just like to be able to get some page and maybe some info before downloading things to see what the project is like.
Does your bulletin board support nested comment display ala slashdot? If it does avoid nested tables like the plague because it's not considered good coding form by the lynx developers and the like and excludes many people who want to undetstand the flow of conversation that is going on.
Respond to s
Reading newsgroups and mailing lists, I occasionally come across people who have problems that could be solved with software I have written and made available. I have a hard time coming up with a way to point them towards my software without coming across as some kind of big-headed, know-it-all, "my software cleans your floor and does your taxes" loser. What to do?
--
An abstained vote is a vote for Bush and Gore.
Non-meta-modded "Overrated" mods are killing Slashdot
(Hey Ryan! Here's your proof!)
My tiny utility has had nearly 1000 downloads. And what have I gotten in my inbox? One patch, maybe two bug reports and possibly as many as 5 "thanks". I'm not complaining, I'm just saying that a very very small percentage of the people who download, use. And a very very small percentage of the people who use, contribute.
--
An abstained vote is a vote for Bush and Gore.
Non-meta-modded "Overrated" mods are killing Slashdot
(Hey Ryan! Here's your proof!)
I have considered doing the port of NEdit to Gtk+, but as I don't know Motif, it would be quite difficult.
The topic of porting to GTK+ comes up regularily on the NEdit mailing list - a bit like the C++ threads on the Linux Kernel mailing list. NEdit uses the Xt convenience functions a hell of a lot, so porting it to GTK+ wouldn't be much fun. Porting to Qt using TrollTechs QXt extension would probably be easier.
Chris
With this question, I would like insight into the kind of benevolent dictator you are (if you do indeed follow the Linux method of development) in terms of personality and "managing" your developers (like a project manager). I would also like to know how much direction you give to the project at this point (actively deciding to pursue new features for NEdit, rather than just building on ideas that others bring up).
I use NEdit all the time, and one of the things I like best about it is it is based on Motif. Rather than all the shitty "glitzy" toolkits like Gtk and Qt that take hours to load over the network and are not worth it anyway, NEdit uses the best toolkit around. Motif is still better than all the alternatives--it's faster, more efficient, more to-the-point, and more powerful. This is one of my main reasons for using NEdit in the first place.
Suggestions for new developers:
This was my experience so I thought I'd share. (okay this is a shameless self plug) In case you are interested in a simple text editor check out http://www.mindspring.com /~j oeja/programs.html#Tcl-Tk
I don't want a lot, I just want it all!
Flame away, I have a hose!
Only 'flamers' flame!
---
This sig has been temporarily disconnected or is no longer in service
A recently posted Slashdot article (I believe the original is at linux.com) railed against one of the failings of OSS, citing text editors in particular, arguing that people don't want to contribute to other projects, they always want to run their own. What originally possessed you to create your own editor, rather than extend another project (call it editor X)? And, if someone today feels the same way about NEdit that you did about editor X at the time, would you recommend that they create their own editor too?
www.HearMySoulSpeak.com
--
Here's two questions:
thanks. cbd.
- Clear, concise statement of work (since NEdit was developed with U.S. Govt funding)
- A Requirements Management process (measurable details about end-user goals)
- Requirements Traceability Matrix (did all the planned stuff get implimented?)
- Design Documents (GUIs plus interactions with black-box libraries or external packages)
- Work Breakdown/Size Estimates (what are the pieces of the design that need attacked, what skills are required for each, who is attacking each piece)
- Project Tracking (some automated way of allowing outsiders to see how it's going)
Colleges are teaching this. Companies who want government contracts are starting to do this kind of stuff. Would these software engineering techniques help OpenSource biggies stay on track and on time even though there is no financial interest to do so? The upcoming <cough>Linuxkernel<cough> comes to mind.Does anyone know of a good one? So far I've identified the following:
Java -- has everything I want, but can require nasty complicated down loads and installation to get a version that has all the features I want to use.
tcl/tk -- Ok, I just don't like tcl, but it meets the spec.
QT -- almost perfect except that the GPLed version doesn't support Win32. Win32 support costs ~US $1500.
Any other suggestions?
One of the big moments for mature software projects is the issue of keeping the software cross-platform. Can you tell us a story about your struggles with keeping NEdit cross-platform? As a starter question: Is there a lessons-learned document around that gives good tips to avoid cross-platform issues, or have you ever though about making one?
How did you achieve this balance? What design decisions were made in the beginning that facilitated this, and how have changes been made during NEdit's evolution such that this balance hasn't been disturbed?
At the end of the day, most mature text editors have the same core functionality, but some make it easier to use than others. I chose NEdit because emacs is too complicated for my liking (and for anyone else who thinks you should be able to pick up an editor in half an hour), and if I wanted to change its behaviour on any small point I had to delve into the voluminous documentation. I'd previously used Zap, and Nedit is certainly the closest to this editor that I'd found. Its interface shows off all its features without the user needing any documentation, and there's a large `cookbook' type library of macros and syntax hilighting available which you can just plug in.
I'm not doubting the capability of emacs or vi, but I came to Linux from RISC OS, an OS where user interface design was very important, and so I don't believe you should have to spend any time at all learning how to use an editor. So when X isn't an option I use joe or pico-- I think you'd be surprised how many other `serious' programmers just can't be arsed to mess around with customising their editors when there's real code to hack.
Matthew @ Bytemark Hosting
First, I want to say that I've been using Nedit for probably seven years, and I've always thought it was the best thing out there. Someone mentioned that it eased the transition from PC/Mac to Unix, and that was certainly true for me. So thanks for your great work!
When I first used Nedit, I was working for a government-related agency, which had restrictions on what kinds of software could be run. Because Mark Edel hosted the source on a Fermi Labs machine, I was able to weasel around some of those restrictions. This, of course, was not before GNU but was well before the Open Source movement gained its groundswell of popularity. When the movement did gain popular momentum, it was looked upon with distrust and suspicion within the agency where I worked. There were offhand references to Communism and anarchy whenever people heard my enthusiasm. Likewise, when I wanted to give out source to some utilities I wrote, I was summarily shot down and chastised -- "this was paid for by the Government!" I was told (which was exactly my point; they just had a different conclusion as to what that meant).
So... how did you convince Fermi Labs (or the DOE) to allow source distribution in the first place? Did you run into any difficulties when you decided to change the license? Did you have to get permission within the organization? If so, what did you need to do to get approval?
Thanks again!
bukra fil mish mish
-
Monitor the Web, or Track your site!
Eloi, Eloi, lema sabachtani?
www.fogbound.net
One of my pet peeves is lack of design, documentation, commenting and testing. I'd appreciate your views on how much you believe these are necessary. Do you design before you code, or do you just dive in? Do you like to provide loads of support documentation for users and co-workers, or are you of the "the-code-is-my-documentation" school?
More importantly, how do you enforce any such standard on your project, given that you've got other people submitting you code patches which may be technically perfect but visually obfuscated? And has this caused any friction, since managing coders is a "herding cats" scenario, and criticising someone's coding style is often taken very personally?
Grab.
How do you balance your time with your job and
the project ?
I have my own little project (phpstocks.com).
Whenever I release a new version, it increases my site traffic to around a few thousand hits/day for a around 2-3 weeks.. then things settle down once again. I get a lot of questions on how do something, but no constructive critique
of the code. Or help with the code.
Secondly I have a full time job, in which I work 12-13 hrs/day.. I get paid hourly.. so it's not so bad as base salary only.. but still it makes it so that I can't have enough time to have a social life and to work on the project.
I guess my question is how do you balance your time, specially when there aren't 100's of programmers working round the clock ?
It may not teach you common Lisp or demonstrate the latest trends in portable interface design but it edits text faster than anything else. The block selection features cut down formatting time.
The C commenting macros reduce #ifdef clutter, allowing you to try different designs quickly. Any time there's a text box in Netscape I write it out in Nedit and paste it in Netscape.
Nedit is a wonderful program. It does an incredible job of maintaining consistency with common Mac/Windoze keybindings, while offering incredible power to the power geek. We have quite a few users in our center.
Part of the reasons for its being low profile were the lack of perfect functionality with lesstif. This meant the quality version was staticly linked with Motif, and that many linux distributions would not ship it for licensing reasons.
It is really good to see that is over with, and it is similarly easy to predict a rapid increase in its use on free unices as the GPL version (with lesstif) gets shipped with all new linux distros.
My question: do you feel licensing issues can inadverdently affect acceptance of quality software, and how do you feel the Nedit team could have handled its licensing to avoid being left out of common linux distributions ?
I use it on my SuSE system almost every time I log on. I currently use WindowMaker as my WM, and after finally deciding to use this WM, I went and tried to find what text editor I wanted to use for coding and other things (I needed something that would work well for me for coding, as well as allow me to write up simple text documents and other such things), and NEdit is what fit the bill.
It works great for me! I don't think I would use it for extreme document layout stuff, but that isn't why I selected it - I selected it for coding. I have only found one problem, and I believe it is something I don't have configured right:
When using cut and paste, I can't paste data cut/copied from Netscape - other apps I can cut/paste from fine (in fact, I can cut/paste from Netscape to other apps fine as well, just not to NEdit). I can cut from Netscape, see the result sitting in the clipboard (XClip? - Can't remember the clipboard app name), but can't paste it into NEdit. Like I said, I think I don't have something set up properly (so many other things going on I haven't had time to look).
Other than that, it is perfect for what I need it to do (and I am sure I have an older build anyhow - I am currently running SuSE 6.3, updated to 2.1.14 kernel - and the NEdit is what came on the SuSE CD set).
I support the EFF - do you?
Reason is the Path to God - Anon
Did any of you read the article? It has nothing to do with which editor is better, using motif or not, etc. The topic is what is it like to lead a low profile OSS/FS project. For quite some time, I was heavily involved in a lesser known OSS project, having written the core component for the project. Frankly, it was my experience that all the virtues that are touted by the usual OSS supporters don't apply. You don't get many eyes looking at the source. In fact, it seems that you get quite the opposite -- you get all the users who simply whine that you have a bug and demand it to be fixed. Some even go as far as to tell you how to fix it, but have never looked at the code so you get suggestions to modify code that is nowhere in the project. Mailing lists for the project seemed to be populated mainly by lurkers and only the very vocal minority seemed to communicate -- usually in off topic discussions. Given this somewhat dismal experience I had, has open source helped the project? Has there been much in the way of good feedback or is all the testing, bug fixes and additions of features done by the core team? Also, given the amount of work it takes to bring an OSS project to fruition, would you do it again knowing that it may not be very popular?
I have a simple non-technical question.
How do you keep going? As in when real life get's in the way. I head up 2 projects and there are times when the kids, my paying job, wife,etc.. keeps my development at a standstill.
How do you cope with life interfering with your projects?
Do not look at laser with remaining good eye.
I first used nedit when it was supplied as an alternative to jot on SGIs and it was a fairly small program. I redicovered it recently and am a huge fan (it's the perfect editor for the kind of people who have issues with emacs). Has it been difficult to maintain focus as the scope of the project increases? Clearly you are concerned by bloated installations as the binary installation is still one file. Has it been difficult to make backward-incompatible decisions as features have grown from experimental to cornerstone? - the main example being the expansion of the macro system. P.S. I have a load of requests waiting for the web wishlist system to appear...
I love NEdit - the Windows key combinations are too deeply ingrained in my head to make it at all easy to use an editor which doesn't support them. You even have a version for SunOS, which our Comlab runs here at Oxford.
:-)
However, sometimes I have to use Windows, and the Windows "port" of NEdit seems a bit heavyweight, what with it requiring an X server.
Are there any decent free software editors for Windows? I've tried PFE, but it can't cope with mouse wheel scrolling. I currently use ConTEXT, which is OK. But can I do better?
(Anyone else, feel free to answer this
Gerv
"Leading A Low-Profile Free Software Project" What's the difference between a low profile and a high profile project? Did you start the project to scratch an itch or attract attention?
--
Peace,
Lord Omlette
ICQ# 77863057
[o]_O
I've been using Nedit for a little over a year now. I really like it, but have one issue. I usually compile everything from source, but Nedit doesn't want to compile, even with the latest version of Lesstif. I ended up having to download & use a statically linked binary.
My question is this: Are there any plans to port Nedit to a more modern toolkit, like GTK or QT?
What does NEdit offer that Emacs doesn't? How do you compete or market yourselves against successful and established products? Do you even want to?
vim has a good win32 port.
http://www.vim.org
http://www.vim.org/binaries.html
peterrenshaw ~ Another Scrappy Startup
There have been many times when I've wanted to undertake a project and release the source but haven't simply because I'm self-conscious about the code I write. I feel almost embarassed at the thought of someone seeing sloppy, inelegant code with my name on it. I'm just curious if a.) you've ever had this problem and b.) in general, what have people's responses been (i.e. flames, a patch and some consoling words, etc.)?
--
I think there is a world market for maybe five personal web logs.
Begging your email list for feedback doesn't work, I tried that.
;-)
- jon
Ganymede, a GPL'ed metadirectory for UNIX
I know that this is Slashdot, owned by the same company as Sourceforge, but here is the question: should somebody trying to start an OSS or Free Software project use the resources provided by SourceForge?
The reason I ask is because the services offered are second to none, but its high quality has attracted so many users that now any project hosted there seems to be second-rate. I have, for example, some friends who will, upon seeing any *.sourceforge.net URL, say "Oh, just another SourceForge project. Just another OSS wannabe."
I realize that the story is different for projects that thrive elsewhere and just use SourceForge for its rather, um, unique services. But still, for one that is just starting out... is it a good idea?
Because knowing vi allows you to telnet into any *nix box and edit text files with a reasonably powerful editor (it's especially powerful for repetitive and formatted text like configuration files). Since almost all system configuration in *nix is done with plain text files, this is incredibly useful. Especially in a data center like the one I work in with 4 different flavors of *nix.
"Free your mind and your ass will follow"