Wasted Efforts in F/OSS – Office Suites
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.
__________________________________________________________________________________________________
* As too are the proprietary, however, my focus is upon F/OSS. |
Comments (22)
Isn't it what people are used to?
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 :).
Terror ends with righteousness. Isiah 54:14 (KJV)
Negative view with old-style preconceptions as a base
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.
Isn't that what MS already did?
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?
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 may be wrong on this, so feel free to express your thoughts!
Some questions
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?
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
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 ;)
Search suggestions welcomed and needed.
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.
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.
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:Sign up and post (it is free) or Log in and post
|
|

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...