Advanced

Wasted Efforts in F/OSS – Office Suites

Posted by tadelste on Jan 22, 2006 1:37 PM · 22 comments
LXer.com; By Herschel Cohen



This is the first of at least a two part series. I say that because I hold a stronger opinion today than when I first began formulating this premise. Initially, I had'nt thought out all the implications and due to the interactive nature of this format, I expect further ideas to arise.

Oddly enough, for this one instance I see a modicum of truth in one insult Microsoft throws at Linux. And that's what we'll explore together. Please don't take the polite wording of this editorial as an indication of any uncertainty on my part regarding the premise I will present. The politeness exists only because those involved seem so talented. It caused me some difficulty understanding how they arrived at the point they did.

Read on and feel free to comment with vigor as this conclusion or its consequences is not one to take lightly. Furthermore, the next part may seem quite disturbing.

Premise:

I may be a bit naïve, however, I wonder if many efforts in the creation of free and (so called) open source software* are wasted efforts particularly regarding the Office Suites and components. Since I am essentially asking if my impression is valid, I would gladly admit to an error if I can be refuted by logical argument with readily seen, fact based examples. Nonetheless, this paper begins with the premise that this article's title is true.

Fundamentals:

If building infrastructure is the true forte of Free/Open Source Software, why is there so much duplicative efforts to build so similar edifices seen in Office Suites? Would it not be better to put the initial efforts into construction a software scaffold as the first fundamental step in building the structure to allow all suites components to be placed upon it from any interested source? While I do not consider myself a competent software architect, conceptually the proposal in the previous sentence seems reasonable. Moreover, it could attract talent that is more attuned to fundamentals of process control, i.e. information exchange rather than the attributes seen in a keystroke binding to an action upon a gui that a class of users expects from an application.

Choice:

Such a Suite skeleton could be built akin to the process that is used to create and modify the Linux kernel. Then we might move back to a concept from the early days of PCs, that is users could select only those application components they consider to be the best of the breed. It would be the users' choice to ignore both the less attractive and even those worthy applications that many users have no interest in employing. If such a structure existed then many more application developers could focus their best efforts on perfecting their respective tool. Moreover, the competition would not be limited to those having the resources to produce a full application suite with portions that even by these few with sufficient endowment still contain substandard elements. Think of it: a Suite of only the Best.

Legalities:

There are, however, some fundamental considerations that cannot be altered: this edifice must be distributed only under GPL so that any modified release must contain the details of any vendor altered component at the time of distribution. Moreover, this must not seen to be an option by those proprietary vendors that employ this Free/Open Structural components, to withhold details until they are ready. It must be clear that the complete code must accompany the product. Simple: code delayed means the distribution too is delayed. Furthermore, while everyone would be granted equal access, the attempt to embrace and extend should be demarcated as legally actionable in the base licensing.

Practicalities:

The ownership of the core infrastructure should be inviolate, whereas the components attached may be any combination of Free, free (no charge), Open Source, closed source and / or proprietary as determined by the original vendor, software packager, corporate site standard or individual user. Attachment of any component is at the discretion of the user and theirs alone. Consider how this could radically alter the software development landscape: the application packages might at the core be considerably simpler. Take one example, of academic usage in the sciences in contrast to a full featured word processor a lighter text version could suffice combined with a superior, independent equation writer. The latter combination would suffice for article writing, however, when a full length book or several chapters are to be composed other components could be added to fulfill the extra demands. The mix and match mind set could revise how differing sets of developers approach software applications. Perhaps the Unix mind set will come into play where the combination of small, specifically honed tools will result in the wholesale replacement of the over sized generalized tool that relies upon too many compromises.

The preceding paragraph gives the impression that there are two components comprising the scientific word processing application. That, however, is a misapprehension due to the components are both more simple and more numerous. To begin there would be a very simple text editor (bare bones), this would be attached through the application skeleton to a selected formatter component. The next item on the list would be a base set of text fonts that itself would be connected to scientific font set including at very least a Greek alphabet set, that is attached to a mathematical symbol set, that may include or be attached separately to a set of physics symbols. How would this be accomplished? Using configuration files for each component.

The actual application would be seen as a gui, which would be a wrapper. It would have its own configuration file that taps into the application components respective configuration files. The latter would have numeric values that determine how early each component is loaded and how tightly it is bound to the entire application per se. For example, as seen in the exhibited widgets and their availability for immediate use.

Commercial vendors could combine any combination of small component parts to create unique “products” that seem to stress important end user virtues. For example, where apparent quick loading is perceived as a paramount characteristic, the image (gui) can be made to appear quickly albeit non-functional in short order. Moreover, certain functionality might not be even present until after its widget is activated by user action to further boost perceived loading speed. Hence, where applications receive commendation based on bogus “bench marks” some might find early commercial viability whereas others may take the longer road stressing quality components and optimized interaction. Most users, however, will accept the system as delivered by the OEM or the corporate standard issue.

What a world that might be. Open to all comers, but the infrastructure must be built first with care and be forever free.

Last Word(s):

What a world that might be. Open to all comers, but the infrastructure must be built first with care and be forever free.

__________________________________________________________________________________________________
Please register to become part of the discussion and suggest where this topic content should flow.
Feel free to be critical, but while simple opinion is a prior equal, only informed opinion will be
given credence. Thank you for your input.

* As too are the proprietary, however, my focus is upon F/OSS.

Return to the LXer Features

Comments (22)

Isn't it what people are used to?

They grow up using MS Office, so they want something that will work with it and look like it and open its files. That's OO, right now.

What you want in the way of a simple text editor/equation editor does exist: its Lyx. Very fine writing tool, maybe not quite strong enough in terms of export file formats. There are great outliners too - Leo or Treeline are outstanding in this functionality. Kate is a very nice text editor for writing. So it does exist somewhat, if people have the courage to throw away their WP and use it.

There is a much deeper question however which isn't related to the product imperatives: are Office suites actually social contributors?

There's a good argument to the contrary. Word Processors make it hard to write by confusing formatting with composing. Powerpoint corrupts the process of presentation and collective consideration of data for a decision, by making people rely on a series of ambigous bullet points. Excel corrupts the business planning and business case process by facilitating the exploration of one scenario in insane levels of detail and specificity, while ignoring others.

In many ways business decision making had better tools when we had to rely on a simple one page statement of financials, a set of assumptions that people could argue about, and a five page paper setting out the facts, the arguments and the recommendations. All done by typewriters.

But that was before Prozac, that other great corruptor of business decision making...
Here here.

Personally I go for Abiword on the lightweight crack-out-an-article side of things. It conforms very nicely to the way I write. I use gnome's spreadsheeting app. Thinking on it, there are quite a few stand-alone "office" apps I use, none of them part of a suite.

There are many established layout engines on which to base a word-processing frontend. LaTeX etc. all (of which LyX is a very nice frontend, thanks for pointing it out Alcibiades) . These are available and quite mature.

All of the infrastructure, of *all* of the tools in the GPL realm is available for anyone to use... which is better than everyone using the same core infrastructure and then arguing about how it should be maintained, directions it should go in, etc.

This happens on the kernel side of things frequently, with things getting done because people put faith in Linus to "do the right thing". He usually does. The only reason people cede the authority is because the kernel is necessarily centralized. It's components are more complex by far than an office suite, and change far more rapidly. This necessitates a huge workforce that needs a central authority to arbitrate decisions.

As I've said before, each open source project is made for it's users reasons. Be they commercial sale or simply meeting a need, training a skill or just for fun, that's why it's made. There isn't a magical quotient of "free time" which is made available for other projects because someone didn't write an Office Suite app. All that effort might then go toward watching the latest episode of "Tripping the Rift" or similar activities... which wouldn't be as beneficial to me as another Office project :).
1. Great idea, Herschel. You could be on to something! 2. r_a_trip, don't be negative. I know it's tough sometimes, as I have to fight that too much myself, but it rarely helps. 3. Alcibiades, right on.

Terror ends with righteousness. Isiah 54:14 (KJV)

Negative view with old-style preconceptions as a base

Irrespective of the correctness of the premisse, there is no way to stop wasted efforts in Free Software.

Since the licensing is worded in such a way that it is impossible to steer all coding efforts in a single direction, it is nice to question if there are wasted efforts, but completely useless to waste much time on it.

There is no way to stop this other than forbid Free development and force people to go in a single direction. Which would kill the goose with the golden eggs.

Maybe looking at the Free Software development as an evolutionary method of exploring code possibilities, leading to best of breed code through natural selection, would turn this negative view in to a positive one.

Free Software doesn't follow the traditional capitalistic, profit motivated top-down methods of conventional old style businesses.
There is a difference, i.e. speaking of recognition of errors vs. compulsion. Where can you cite that I even hinted at the latter?
There is no way to stop this other than forbid Free development and force people to go in a single direction. Which would kill the goose with the golden eggs.

Isn't that what MS already did?
HC: I don't think r_a_trip is suggesting you hinted at compulsion. I believe he is saying that would be the only way to prevent waste. Sure, we can help convince some people that developing a common infrastructure is the way to go. However, due to the very nature of FOSS, not everyone will play along. If I'm off base, let me know.
dc - you will have to wait for the next installment that is scheduled for (hmm, not ready yet ...).

I am not that sort of egotist that I ever dreamed I could dictate my vision. At best I am pointing out what I perceive to have been a fundamental error in direction, and this was my first landing point. With a bit more reflection, I realized this is a much bigger issue. Moreover, the personalities involved are not likely to take to following my suggestions. Furthermore, some of these individuals I truly admire for their over sized talents. And finally, the latter is probably at the core of why I think such a wrong course was followed: the hard way was still too easy for them.

At best, some of the voices whose complaints I have heard, but I not taken seriously may be heartened by a discussion that says their path is the better one.

Rest assured, I will be saying much more as I try to tie up many disparate impressions and ideas, but never will I say those I think are in error are to be forced in a direction counter to what they believe. [If these very smart people can err - is it inconceivable that I too might be wrong?] I am here for discussing ideas not prescriptions of all to follow. Indeed, take only what is best in my perceptions, ignore or discard the rest.

Is that clear enough, for now?
I'm clear. I just thought you might have misunderstood r_a_trip.
So what's the point, if it isn't going to happen? I mean, there's really no point to being purely idealistic about coding, you must be at least some part pragmatic. Sure, maybe it'd work in some alternate universe where you're the dictator of the world, but who cares? Heck, go do it yourself, instead of lamenting "duplication" and wasted effort of other people.
This is all a little to controlling for my taste, free or not. I've also got to agree with r_a_trip that it is unlikely to fly in the FOSS community. Different people need different things in any working office structure.

Additionally, I think that what Herschel has described sounds awfully familiar. Although not as tightly focused, we have at least two in Linux called KDE and Gnome... Think about it. Essentially, this is a day late and a dollar short.
I believe we have so many talented programmers in FOSS community that the question of wasted efforts is unimportant for a program as widespread as office suite. Besides a common core or base system for office suite will not be able to retain interest of FOSS programmers for long, who are driven by urge to innovate.

I may be wrong on this, so feel free to express your thoughts!

Some questions

Tom,

I'm curious about some aspects of what you're proposing. To my way of thinking, perhaps, with enough work, you could implement something like your framework for a word processor, but how would you propose that a "light weight framework" be built for, say, a spreadsheet? Or a desktop database? Or especially a presentation application? Also, should this be built on QT, or GTK? Or should the framework include enough code to allow it to compile using either (these are GUI applications, after all)? Or should it be built using some other not-yet-invented widget tool set? Or do you mean that these processes/plugins would not get a terminal, but would instead act more like background processes with the GUI application piece built by the vendor accessing them via pipes or sockets or something? Also, given how complex this backend infrastructure sounds, are you proposing that average desktop users should have to edit these configuration files in order to create something fairly complex, such as a newsletter layout? Or is this something that should be done programatically?
rob: I didn't write this one. Should you address it to Herschel?
oops... Saw the posted by and didn't notice the author. Ah well, same questions apply if Herschel would care to reply.
rob - sorry for being so late in giving any sort of reply, been busy trying to research the next installment of this line of thought.

Since I am having problems finding some material I read years ago I am going to cheat just a bit and use items I can just cite and some of my thoughts on this topic that went out as part of an email to someone else.

First look at the comments in another comment thread on this same story by Tux_Wonderdog http://lxer.com/module/forums/t/21319/ because he is thinking in a quite similar manner as I.

Next, you are stressing the gui part too much - I delayed responding in part because I thought there were a class of applications that might rightly be nearly all graphically based. Upon reflection I see this group can be probably smaller than I first thought. Let me stress I see this first as a data problem, where graphics should be introduced only when they play irreplaceable role. Now let me steal some of my thoughts:

" ... I see most of it as a data storage problems where existing data types and scopes should suffice to describe even "graphical data" as mostly differing types of numerics. Think of digital photos in pixels: location (values along set axis, 2 to 3 values at most as large integer or floats), density (large integer or float), color (three sets of integers in sequence), reflection (light source angle) integer (polar angle) or float, etc. If it were a display or drawing light color washes could be described numerically (color and density) if dynamic one could use an equation ,with trig. type functions to describe density fluctuation of color density and transparency. Once this data has been processed it could then be thrown at a graphical display program."

Think of needing a snap shot that you wish to print, you might want less than the full data set, i.e a cropped photo and due to printing the resolution will be less than the stored potential in the data. Why make the graphics tool pretend to be active when it is extracting and number crunching that is really using the processing resources. Here at best the cropping could be graphics and a preview of the likely appearance of the final print could be displayed. In the preview the density printed is a weighted average as is the color for every new, bloated pixel.

Here is where I think it might be done as I have in mind, but that is only my mind extrapolating from some discussions I have read, I could be completely wrong, but it's a reasonable path:

" I think a lot of astronomy is now done by similar means. A lot of the current earth bound telescopes have to remover distortions due to the atmosphere and structural displacement of large and separate mirrors whose total capture has to be processed prior to producing a picture."

You should be able to infer I am a database person with some scientific training - both would be correct.

Let me know if this suffices for now - HC.

Had a discussion with a friend once about Office Suites

His argument was that they are not very "wired", to use a more modern twist-of-phrase.

Or put it another way, your average programmer's text editor "knows" certain things. emacs "knows" about brackets, etc; ditto for QT3 Designer, etc. While the average Office Suite doesn't "know" certain commonplace office things.

Personally I think it would be more to the point to plow that sort of AI that emacs for example has for C, Lisp, Ada, etc, into the F/LOSS Office Suites we already have. That's one thing we can do that the accountancy-tied monopolists and young hopefuls can't.

(For my part, I've been thinking of doing something of the sort, basing the text part of things on a table- and dictionary-driven natural language interpreter that shares most of its backend with stuff like an SQL and xBase interpreter and so on and so forth ... I admit to being a little crazy ... So, does anyone have a copy on DVD of the CMU AI Repository that I could use? If so, please contact me at wesDOTparish AT paradiseDOTnetDOTnz ;)
I'll give you a hint: emacs doesn't have any AI. AI stands for Artificial Intelligence. Emacs has different modes that programmers have written. It doesn't use AI to "learn" about how to help code programs or any magic like that.
Tux. - cited you and threw in a bit dealing on how this problem may be approached. Note I too see this a data problem, but having a background in databases that's where I see it being stored. Look at: http://lxer.com/module/forums/t/21310/

Search suggestions welcomed and needed.

Working on the second installment of this line of thought that goes much further up the chain.

I believe it was in 1999 (or earlier) I read a biographical article on Miguel de Icaza. At the time he was still working as a system admin. in Mexico City and I believe may have predated his starting of Gnome. In the article it described how his father took away his computer and he taught himself to program solely from reading. It was my impression I had run across it reading Linux Weekly News (lwn.net), however, both Google and search on that site did not provide anything matching what I had read.

Slashdot seems to have completely dropped its internal search, hence, if someone knows how to find the article or could suggest better search criteria to use on Google advanced I would appreciate any assistance.

Some open source projects are simply the result of history.

OpenOffice did not start as an open source project. It was originally developed by StarDivision as StarOffice, a proprietary office suite for OS/2 and a few other platforms including Linux later on, and when Sun purchased that office suite and freed the source it quickly became a flagship open source development project.

Its position in the open source community is as much an accident of history as anything else, and its current form and functional state is still largely based on the state it was in when it was first turned over to the community, although improvements are being made.

Other open source "office suite" projects are closely tied to certain specific desktop environments (like KOffice) or predate the appearance of OpenOffice by many years (like Applixware's commercial offering), or else are efforts to bring together a series of formerly independent applications under some sort of common umbrella.

Some folks want a single huge/monolithic environment in which each application runs, while others prefer a much looser type of connection between the applications in their suite or no actual suite at all.

Given the decentralized native of the open source community (which is, in reality, several hundred smaller communities which share roughly the same values), and given the diverse nature of user preferences and developer vision, it's no wonder that we have several parallel efforts. That seems to be the norm for almost any type of software developed in an open source context.

Grand unified visions usually tend to be the product of dictatorship (be it benevolent or not) rather than of democracy.
rsteiner - you are correct in nearly everything you stated. Nonetheless, I think the problem is more generalized than I expressed it so far. The purpose of writing about the errors, is it may induce some to reflect upon both the goal and the path chosen. Simpler, many times, is the better route.

Discovery can follow torturous routes, in research of non-trivial problems more error and failures are to be expected. Calling attention to errors should be just seen as part of the process.

Post a comment

A free account is needed to post. Write your comment here first: your text is kept in this browser while you sign up or log in, and is waiting for you when you come back.

Your message:
|||||
10
Markdown: **bold**, *italic*, [text](https://link), - lists, > quotes, $x^2$ for math. Formatting help

Sign up and post (it is free)  or  Log in and post

LXer

  Latest Features
bob: LXer now speaks Markdown
Oct 27, 2026

bob: How to protect against PHP2Shell
Oct 26, 2026

Scott Ruecker (San Diego, U.S.): Linux That's Small
Oct 14, 2024

penguinist: Encryption, Trust, and the Hidden Dangers of Vendor-Controlled Data
Aug 27, 2024

Scott Ruecker (San Diego, U.S.): My Linux Mint Tribute
Aug 23, 2024

Scott Ruecker (San Diego, U.S.): How I Turned My Chromebook Into A "Mintbook"
Jul 08, 2024

Scott Ruecker (San Diego, U.S.): Adventures With My New Chromebook
Jun 10, 2024

Scott Ruecker: My Linux Laptop
May 08, 2022

Scott Ruecker: Laptop Dual Boot Project: Part 2
Nov 30, 2021

Scott Ruecker: Laptop Dual Boot Project
Nov 30, 2020


View all

  Search Features

Search LXer Features:

[ Copyright © LXer | All times are recorded in Central Daylight Time (CDT) ]

[ Contact Us | Privacy Policy | Terms of Service | About us | rss | Mobile ]

Login