have a few questions about the future of open source
GeneralThis forum is for non-technical general discussion which can include both Linux and non-Linux topics. Have fun!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
have a few questions about the future of open source
Well, first day and first thread - should be a brick so here goes!
I have three questions regarding the Linux community and its development.
First, what is the limit when one programs original software for Linux? I mean, at what point does one interfere with someone else's copyright under open source? Is the assignment of copyright for the personal "I did that" effect and if so, how many programmers would be willing to donate the code in return for a non-economic public credit?
Second, how successful might it be to begin a "steiner's hall?" Frankenstein was a virtual creature spliced into creation by combining parts from several other beings. What if we were to splice together or "stein" the best aspects of different open source code and distribute it without sacrificing (actually evolving) the open source ideology of Linux?
I envision a single software "stein"minimized in length, optimized in function and infinitely variable depending upon the user's taste. We would try to limit algorithmic redundancy. Why have ten or twenty pieces of software eating memory and CPU to perform the same mathematics at the same time?
We would try to give the user an ability to create whatever skin they desire for their personalized copy of the product. We could design a GIMP type routine to allow them to create their skin and include it as part of the software. Simple non-programmer codes would allow them to modify their system anyway they wanted to.
We would program a given function in a couple of languages or memory allocation techniques etc to offer the computer a few alternative routes for function. Would that increase useability, efficiency and evolvability?
We could do many other things with the software by using either uncopyrighted code, code obtained by permission or code specially created for the project. We could identify needed routines, perhaps host a programming competition, receive entries and select the best ones from the field. Those winners would be judged on all of the aspects germane to "good code" and then added to the system. Proper public acknowledgement would, of course, be given.
Third, has anyone compiled or maintained a list of hardware manufacturers friendly to Linux which allow reverse engineering or produces "empty" hardware? Empty hardware would be the best because then we could educate it with the steinware.
Finally, there are several reasons why I ask. Mostly, I feel that we as a species are at a nexus. The modern computer has been invented. It permeates EVERY aspect of our lives. Whoever controls the code controls the permeation and controls our lives. I would rather do something to peacefully protect individuality with this new miracle than have my life dictated by it. Isn't that the intent of the open source phenomenon anyway?
Thank you for reading this far - below are two examples of how the steinware could be useful.
An open source variation of the PDF file. This variation would be combined with a stenographic translator and perhaps a voice recording system. The end routines would be distributed free of charge to every court in the world. They could print court transcripts etc directly into the steinware portable document format and store several hundred thousand pages of searchable text from any trial directly onto an archivable disk. Defense attorneys (remember, if government wants more $$$ it simply prints it) could go to the court, request the transcripts by case number or defendant etc, and receive a freshly burned copy of all materials related to the case. They would pay a lot less than the $1 or $2+ PER PAGE which is currently charged. ($19.95 per disk?) --- In other words the new PDF would make court proceedings truly public and democratic.
A three dimensional modeling stein to create virtual environments and animate how-to guides, forensic investigations etc. This would function the same as any current 3D software, however, it would be much more in depth. It could model, animate the physics, conduct FEA analysis, track whether the moon was waxing or waning (ala OJ Simpson), and do just about anything else related to one's position. Also, users could use it for education, to make games, create artwork etc.
There are an infinite number of other possibilities. The point is that much of the code has already been written. Let's streamline and optimize.
PLEASE contribute your thoughts on this issue. If two or three dozen of us around the world began to work together toward this concept - we could achieve it! After awhile - it would snowball.
Yours
Chrysalis --- <I used Chrysalys because mine was already being used elsewhere on this site>
It varies a bit depending on the license used, but most software licensed under GPL means that you can modify it to your hearts content, provided you make your source code available to anyone that wants it. Usually this also means that if the original author has comments identifying the people who wrote the code, you need to maintain that as well in your modified version.
As for your PDF example, you'll probably want to check into the Open Document Format. That project well on the way to reaching the kinds of objectives you lay out. PDF would be a poor starting choice for something like this largely because it is NOT an open source format.
Your stein idea may have some merit (although what you outline in #2 sounds like a program that would be all things to all people, which is not an achievable goal), but probably one of the best ways to find out is to select a particular area, do some investigating (there are likely efforts in these directions already underway) and either join or start a project.
At a higher level, your 'stein' idea is how Open Source works, pretty much, ie as per Hangdog42's 1st para.
See also http://sourceforge.net/
As it happens, Perl has a similar approach, see search.cpan.org
para 1 --- so the code is useable as long as due credit is given. That's more than reasonable.
Just so we're clear, giving due credit is necessary, but not sufficient. You MUST make the source code, including your modifications, available to anyone who asks. At least for code that has been release under GPL.
Quote:
para 2 --- open document format is good --- PDF is bad --- gotcha
Again, for clarity... I'm not saying PDF is bad, I'm just saying it isn't an open source format.
"there are likely efforts in these directions already underway" HangDog42
Blender would be the core of the "steinware." I'm looking at some of those forums. I started a thread at one of the blender sites but have been met with very little other than insults. Its not what I expected from the Linux community.
"At a higher level, your 'stein' idea is how Open Source works" Chrism01
So you guys (gender neutral) agree that the concept has merit and might work? Please read my next post.
Also, thanks for directing me toward Perl. I'll research it.
"available to anyone" HangDog42
"We could identify needed routines, perhaps host a programming competition, receive entries and select the best ones from the field. Those winners would be judged on all of the aspects germane to "good code" and then added to the system. Proper public acknowledgement would, of course, be given." Chrysalys
The project would be 100% open. You don't think I can do all of the steining myself. I would have to call upon the skills of many many others. Everything would have to be open.
However, everyone contributing would be credited. Brainstorming here, but, perhaps an online gallery of some kind.
The project would be different than Linux in that it would be a centralized website to recruit and combine blocks of code under the GPL. All of the contributors would be working together to make one large yet streamlined program. Linux appears to be a platform upon which others can build their own GPL based programs.
** note: I believe in a prudent philosophy - proper prior planning prevents poor performance - first, lets plan as much steinware development as we can and begin to develop it later. **
I think the game-like OS interface might be the best place to start planning.
These are what I perceive to be the initial requirements and goals:
1 --- Getting into Blender’s code at the beginning of steinware’s development should improve its function later in the project. That’s not to imply we should ignore weak code within the Blender system. We can compare it to other software such as K-3D and formulate a plan for improvement / recruitment.
The improved software would serve as “Frankie’s spine.” All of the other steinware modules we develop would rib off and eventually flesh it out.
2 --- A strong Linux Operating System. Other LOS software could be autopsied and steined into our improved LOS as per GPL copyright provisions. Blender should work better on an OS specifically tailored for its functionality. Lets work from application back to the OS.
3 --- A sturdy 3D Game Engine. The 3DGE (tredge) already operates the disk, cpu, graphics card etc. during game time. Most tredges already save player and character data files. Some games, such as SimCity, allow players to use pre-designed components to build the game’s virtual world. Users of steinware could either select pre-designed buildings for their “community” or design these components themselves within modules that are today called Blender. The tredge would facilitate all GUI functions between the LOS and keyboard. The only exception might be those files which use a flat Microsoft-like GUI. (A new version of Linux ‘Word?’)
Say the user designs a hospital for their “community.” When the character (1st person?) representing the user enters their hospital they see the interior as they left it. Perhaps there are books on the shelves. When the user selects one, they see a hand pull it off the shelf, put it on a desk, open the book and see their data. The file actually opened when the book was pulled off and the data was revealed when the book opened. (No obvious waiting period.) Perhaps there is a doctor to guide them through a newly updated medical database or link via teleconferencing with a real doctor’s office. Perhaps there is a nurse to guide the user and document the person’s glucometer readings. Regardless of how the user customizes it, the hospital would organize all of their medically related items.
The user, a student, now goes to the university which they also designed for their system. Within that “building” are all of the user’s education related files. They stay in that area until they need to go to another. On and on!
If the above are the requirements and goals - how can we achieve it (where would you go for each above component?)/ I'll start a hard copy file in my cabinet.
chrysalys, I think what you're talking about is a good idea. In fact, a project has already begun to achieve such goals: The Croquet Project. Check it out -- it looks promising. Is The Croquet Project what you were looking for?
Sincerly; deepest thanks for guiding me to the Croquet Project. It is VERYsimilar to the stein concept I have proposed. They seem to be the rattle at the end of the snake - steinware would hopefully be the head.
"Croquet is a computer software architecture built from the ground up with a focus on deep collaboration between large numbers of users..... Croquet users, with appropriate sharing privileges, may visit and work with others inside any other Croquet-based world on the network..... Croquet is designed to be an operating system for the post-browser Internet." ref: The Croquet Project
The Croquet Project appears to be directed toward a scenario in which computer access happens over the internet - only. That would essentially be a "hive brain" in which NOONE using a computer has the choice to NOT use the system. That seems like a Microsoft (Hollywood, Megacorporation...) Utopia I'm not sure many would choose. Huxley's Brave New World comes to mind!
It does however provide a level of evidence that my idea is neither impossible nor ridiculous.
Steinware would seek to give users total, individualized, democratic, unconnected and SIMPLE control over their digital experience. Programmers would add their code to a central spine similar to that proposed in other projects. These additions would be directed toward a do anything system. <do anything doesn't mean the Lincoln paradox of pleasing everyone all of the time>
The way in which it would be the other end of the metaphoric serpent is that it would be privately available for any user to use as they personally desire without needing "priveledges." The software would be on their computer rather than time shared from a centralized and monitored mainframe. Users would have the ability to communicate via the net, however, they would not need permission, be monitored, have limited access etc. Basically, it would be a situation in which they have total access to anything programmed into code - all at the same time, same personal computer, privately, single interface etc.
Users would have access to modules to allow their design of their personal "community" within their personal computer. All of the function would be available, but, their GUI or method of interfacing it would be their sole unmonitored design.
Users could choose to never link to the outside world. They could use the net every day. Neither choice would modify their system because it would be totally self contained in their hard drive and RAM.
Users would even have the ability to generate their own code without providing it to other users. The opportunity to do so would be facilitated by steinware competitions etc. They would not be required to do so nor monitored for their choice.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.