Have you ever modified the source code of an open source application?
Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
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.
View Poll Results: Have you ever modified the source code of an open source application?
Yes, I have modified code and then used the modified versions for my own purposes numerous times.
My one effort to contribute substantial code to an existing project left me sour, and I have not had much enthusiasm for such things since. In that case, after contributing code for a significant new feature, and having it accepted, as well as money, a few suggestions and bug fixes, the originator of the application abruptly took it all proprietary with the next major version - binary only by subscription - thank you very much...
I continued to maintain, extend and use the final free code base for several years (still do, but have now shifted my use to another application). I also joined a fork of the project initiated by others and contributed much effort and code to that, but due to conflicting visions and lack of clear leadership that project fragmented and died a quiet death.
As far as submitting my changes back to other projects, not as often. I do not often think that my own changes are significant enough or would be particularly useful to others unless they are an actual bugfix. In the case of bug fixes, I have submitted a few but nothing much worthy of note.
Yes. When the gcc compiler updated to be more picky about the "style" of x86 assembler. One file in the linux kernel had 3x styles of assembler in it, preventing the kernel from compiling. I converted the other two styles to the one that worked and successfully compiled that kernel. The next patch that came out contained the fixes for that as well, so I never got to submit a patch or anything, but I used it. Although functionally it changed nothing other than the ability to compile the source.
When I was getting into video editing via command line, I modified ppmchange to do green screen masks. Since my lighting sucked and things were more yellow than green. So adding custom code to be more tailored to the conditions helped accomplish the task of sorts.
Beyond that I've written a number of bash scripts over the years. Mostly to remember complex command options for me. Or to do rather repetitive math in variable conditions. One script launches a few Xephyr windows and uses Xdmx to stack them vertically, and launch a really tall xterm in that X session. Not so useful for editing code, but pretty useful for looking at large source files, or seeing long ps outputs on ONE 1080p screen. Or viewing the entire man page for hier on one 1080p screen. Or one I did scrubs iwlist output to put the relevant network details one line per network with signal strength as the first part so I can sort it by quality. Not so much change as in creation in those instances.
I have never "modified the source code of an open source application".
BUT....
..... I HAVE programmed in Basic, Pascal, C, DOS, Unix/Linux Shell, SQL, MS Access, Python.
..... I HAVE used graphical code debuggers that trace the code execution visually line by line, loop by loop.
..... I HAVE compiled code into applications for use on different systems
sooOOoo .... what difference does it make if it's 'Open source applications' ?
Am I missing something here?
Just curious.
My 2 cents:
I too started by making computers do what people wanted them to do, and long enough ago that I've written two general ledger systems, an accounts payable system, complete inventory control systems for both materials and product "from blank screens" long before such systems/applications were available off the shelf. Those were all proprietary, of course, as they were owned by the companies that employed me to write them.
I believe the point of the poll and thread is that with the advent of open source, one can now modify the "off the shelf" software without asking permission of anyone to do so, albeit at their own risk of course.
As can be seen by the responses, many have done just that.
As I said, I've never chosen to do that beyond applying patches that other wrote, which I classified as a "No" answer to the pool.
Yes a kernel module, the bttv for my TV tuner card. It would always default to the PAL European standard, I needed NTSC to use it here in Canada. I checked the source trying to figure it out and found the place where it was set when loaded and changed it to the correct version. I did this for months every time I upgraded the kernel on my install, then I discovered you could pass an option to a module on boot to have it load the correct option and never had to do it again.
Yes and no. I'll alter source code sometimes in a sandbox environment (1) as part of learning what the software does and how it does it; and (2) as an easy way to check out whether the changes I want were worth doing an add-on or a module.
There are four reasons I've never messed with source code in a production environment ... (1) I don't want to get sued; (2) Having to stop and redo everything Everytime an update is released; (3) chance of opening a security vulnerability that no one other than a hacker would ever think to look for; and (4) never really had the need.
Yes, but it has been a long time. I downloaded my first Linux as source code through a D.C. Hayes 2400 ( it was probably for Slackware 0.93 ) and compiled it on a homebrew 386 running a microsoft o/s. Lots had to fiddled with. Later on I got Coherent and had to disassemble and prod around to get some things working.
Distribution: Void, Linux From Scratch, Slackware64
Posts: 3,152
Rep:
Yes
modified a wm for my own use, modded and built a bootable CD both for LFS and released back onto github here: https://github.com/KeithDHedger
also adapted xsnow, runnit init system with some others for LFS, submitted vario8s bugs and patches to open source projects eg xterm.
In the past, printer support for Linux was poor. I would find a similar printer or a module purported to work, and modify it to actually work. I did all of this in ANSI C. Today, for such things as scanners and multi-function devices that are not supported, I run MS Windows in a VM, just easier.
I have contributed two pull requests to Cinnamon, the desktop environment used and written by the Linux Mint team. They were very small. I have patched some small projects so they compile in my target distros: usually I revert to previous versions' code because the application upstream follows his dependencies' upstreams aggressively and my distros don't. Sometimes compile flags need to be adjusted, so that may not count. I modify a few hard-coded strings.
I hate Debian's packaging of libdvdcss (I think it was) so I package it myself.
Last edited by bgstack15; 11-06-2019 at 03:52 PM.
Reason: add content
We had a News reader "xvnews" that in year 2000 started to display the posts with wrong dates. A Y2k bug!
So I dived into the C source code, and there was a long section that tried to represent each date in the receivers time zone.
After an hour I still did not find the error, but then I simply disabled the call of this conversion code.
It worked! Of course now it showed the date/time of the posters time zone. If one was really interested in a local date/time one could use a time zone converter in the (just emerging) Internet.
Also I adapted the lpd source code from BSD for Solaris 2.4, in order to replace its awful SysV lpsched.
Worked out great; big thanks to BSD for their portable and versatile code!
Later (in Solaris 2.6 I think) Sun replaced the lpsched by the successor of their experimental "SunSoft Print Client" that was compatible with both lpsched and lpd. My lpd was no longer needed.
Last edited by MadeInGermany; 11-06-2019 at 04:29 PM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.