Monday, May 02, 2005

not invented here

first, major props to the koffice developers for a wicked release! i've been using koffice for some years now and really appreciate it. i need to rant.. er... blog someday about why koffice will have a very bright future. but that's not what is on my mind today... NIH is.

i was reading the Open Source news today and saw once again an all too typical scene: kde gets accused, primarily by people who do not use or develop with kde, of being riddled with Not Invented Here, or "NIH", syndrome. NIH is that state of mind where you do not accept anything that you didn't create, no matter how good or sensible the decision to use it would be.

while this claim gets bandied about as a means to jab at kde's good reputation, i simply can not see the truth behind it.

for every technology that kde uses where there is an external alternative, the reason for the choice to use something homegrown can be brought down to one of a few reasons: the option didn't exist when kde started using that functionality (e.g. kde was there first), the options were or are not mature enough for use in kde, the options were somehow encumbered so that they were not usable within kde or that the item is so trivial that NIH never entered into it (it was simply faster to do something new than use something existing; e.g. "trivial").

i look at kpdf using popplar (have i mentioned how inane i find that name, yet? and how i can never remember how to spell it? ;), koffice using OASIS, the huge number of cross-desktop standards kde has adopted and authored, the use of libraries like libxml2, the grass-root adoption of gstreamer by some of our multimedia apps ... and on and on .. and i ask myself, "ok, where is this NIH exactly?"

perhaps i'm all to close to the scene to see it. so, here is my request to all those who feel KDE exhibits NIH:

provide me with concrete examples of this in action. you can reply to this blog entry or send me email (aseigo at kde dot org). i will collate these examples, examine them one by one and then address each of them in a blog entry at a future date.


please, spread this request to all your open source using friends who have expressed this sentiment. pass it on to your kde friends, your gnome friends, your mac friends, your aunts and uncles and cousins and dogs. i really want to flush this one out once and for all. i want to correct misconceptions where they exist, and address real examples of NIH where they exist.

10 comments:

oblanar said...

What about koffice itself? How much of the mainstream adoption can it reach even if it is superior to ooffice?

Would not be more useful to have a really *good* integration of the ooffice into kde?

Do the users ask for another office suite, or rather for integration of the accepted oofice?

segedunum said...

I'll give you a couple of good reasons why KOffice has a bright future. This list was pulled straight off KOffice's web page:

KWord - A frame-based word processor capable of professional standard documents
KSpread - A powerful spreadsheet application.
KPresenter - A full-featured presentation program.
Kivio - A Visio®-style flowcharting application.
Karbon14 - A vector drawing application.
Krita - A pixel-based image manipulation program like The GIMP or Adobe© Photoshop®.
Kugar - A tool for generating business quality reports.
KPlato - An integrated project management and planning tool.
Kexi - An integrated environment for managing data.
KChart - An integrated graph and chart drawing tool.
KFormula - A powerful formula editor.


Name one other free, open source office suite that has that lot in it. I know some people will point and talk about the lack of completeness of KOffice, but maintaining and improving that lot with the resources KOffice has is by no means trivial.

The second reason is that Open Office is simply not maintainable into the long term. The codebase is simply too large, unwieldy and difficult to maintain. Even factoring in the above applications, the KOffice codebase is still a fraction of the size of Open Office with a fraction of the functionality that KOffice has. Those are scales that simply won't balance.

NIH syndrome..... Be very, very wary of people leveraging that claim at you and never try and get too defensive about it. Many people throw the 'Not Invented Syndrome' thing at you as a form of pshychological pressure so that you start thinking 'Oh, we should be adopting more of other people's software and technology then', even if that technology or software doesn't make sense. NIH is also a cover for people who know they haven't actually adopted enough technology, software or ideas going in the other direction!

In the context of KDE, Gnome and Freedesktop it seems that there is always pressure on KDE to simply adopt technology for the sake of interoperability. If KDE doesn't then adopt said technology then it's KDE that is somehow scuppering the perceived politically-correct goal of interoperability. This has happened quite a bit when people have talked about things like multimedia in KDE 4 and GStreamer. Whatever, I would imagine that any multimedia technology must be right for KDE regardless. If it isn't, and you adopt things for the wrong reasons then at some point in the future you've got a dead parrot.

I've seen a lot of that happen when reading many forums and mailing lists over the years such as UserLinux, and even on Freedesktop. I've had that whole NIH thing thrown at me many times, not as anything constructive, but for political reasons and it pisses me off intensely. It's the sort of political bollocks I choose to ignore and concentrate on what actually makes sense for the projects I'm involved in, in a rather cold, hard way.

Illissius said...

I think, in most cases, this is only miscomplained about where a feature from a different OS/DE isn't included, not because the other OS/DE has it, but for entirely different reasons. I haven't seen NIH used by a developer as an actual, serious reason for not including something.
Examples; these are 'features' I would like myself, but recognize that there's legitimate reasons for not including.
- Mac/GNOME-esque button order*. I like it better. Sue me ;)
- Displaying the icon of the active window on the window list button (again, as with Macs and GNOME).
there's probably more, but those are the ones that come to mind atm.

* I am aware of the hidden config option, however, afaict, that affects less dialogs than it doesn't... and having a mixed button order within the same environment is even worse. but anyways, it's not a huge issue by any means, so I'm quite content to live with the way it is currently.

Sashmit Bhaduri said...

oblanar said:
What about koffice itself? How much of the mainstream adoption can it reach even if it is superior to ooffice?

Would not be more useful to have a really *good* integration of the ooffice into kde?

Do the users ask for another office suite, or rather for integration of the accepted oofice?


Well, koffice existed a long time before openoffice existed-- it started when staroffice was completely closed source.

There is still significant encuberance to working on OpenOffice IMHO, since it's such a huge code base with large barriers to development.

Koffice and OpenOffice will use the same file formats in OASIS soon, so if OpenOffice is successful in the mainstream, then Koffice will also be successful.

vladc6 said...

---Simple Text---
KDE: kedit/kwrite/kate
Non-KDE: gedit
---------

---Graphics---
KDE: kpaint, kolourpaint
---------

---Multimedia---
KDE: Noatun, JuK, Kaboodle, amaroK, kplayer, kmid, kmidi, KMusicManager, KNeuros, Yammi, kxPlayer, Lsongs, StreamTuned, KiRateRadio, kmp3db, Kariboo, Kid3, KMplayer, Codeine, kaffeine
Non-KDE: mplayer, xmms, xine, totem, helix/realplayer, alsaplayer

How about making *one* media player that can play everything:
movies (avi, mpg, DVD)
real (rm, ram)
midi
mp3, ogg
Windows (wma)
au, snd
etc...

People find it really cumbersome to open up a different application (and thus remember how to use different GUIs) for every format they want to play.

Mplayer seems to be the most comprehensive in terms of codec availability and being able to play the most formats. The downside is that its GUI lacks a playlist functionality (like winamp) and is slow.
I'd suggest making an effort to consolidate all existing codecs into *the* KDE multimedia app with the best chance of survival (amarok?), so that everything Just Plays (tm).
---------

---Desktop search---
KDE: Kat
Non-KDE: Beagle

Kat seems to be at early stages, while Beagle is almost production-ready.
---------

---FTP---
KDE: KFTPGrabber, Scythia, Kasablanca, KBear
---------

Part of the reason why there are so many KDE multimedia apps is that developers make a whole new app for the particular functionality they're interested in, instead of taking the time to incorporate their improvements into *the* multimedia app. It takes effort for a developer to comb through someone else's code and see where his fits in, but it's well worth it!

tweedledeetweedledum said...

This blog is awesome! If you get a chance you may want to visit this box office software site, it's pretty awesome too!

TS said...

Nice Blog!!!   I thought I'd tell you about a site that will let give you places where
you can make extra cash! I made over $800 last month. Not bad for not doing much. Just put in your
zip code and up will pop up a list of places that are available. I live in a small area and found quite
a few. MAKE MONEY NOW

Marketing man said...

Nice blog here! I'm definitely going to bookmark you! I have a work at home business job
site. It pretty much covers work at home business job
related stuff.

Come and check it out if you get time :-)

Milf Cruise said...

mature bitch MILF

Drunk Glory Hole said...

CLICK HERE FOR date a milf