-   Linux - General (
-   -   Have you ever modified the source code of an open source application? (

jeremy 10-18-2019 10:55 AM

Have you ever modified the source code of an open source application?
The LQ poll series continues. Have you ever modified the source code of an open source application? For the purpose of this poll, compiling from source (a poll on this coming soon) or just changing the config does not count. We'd like to know if you've ever modified code and then used the resulting code on one of your systems.


Turbocapitalist 10-18-2019 11:05 AM

My answer is, "Yes", but more frequently in times past. I have occasionally submitted patches upstream, too, but not often. Several times in the past, I have seen to hiring people to make changes I needed and pass them back upstream. One case was a textbook example of success. Another was a short term failure, such that our project did not benefit, but accidentally got some attention and later morphed into a long term success and thus benefitted others very much.

Lately the tasks are often out of reach and the process more bureaucratic so I try less often and even then only sometimes does someone else have the time and interest and ability to pick up the idea and complete it.

The barriers for participation are complexity and high skill level. The low-skill projects end up being too complex to participate in casually and the high skill projects require expert level experience.

However, in regards to the question, "have you ever modified the source code of an open source application", I'd rather see that expanded to include documentation. The manual pages are about as important as the source code even if they often get less love than they need outside the BSDs.

Melanie 10-18-2019 11:18 AM

Open source coder
I have, and still do, heavily contribute to open source projects.

Among the most notable are Jack Audio Connection Kit, Icecast and OpenSimulator.

DavidMcCann 10-18-2019 11:51 AM

Once, in the 1980s, I re-wrote parts of the code for a printer driver — in assembly language, too. But that, like all my coding, was the product of desperation rather than pleasure. I'm just relieved that I haven't had to do anything like that this century.

Medievalist 10-18-2019 12:14 PM

If you use any of the big standard distributions in a large heterogeneous corporate environment, you will find the process of getting bugs fixed in the distro is so tedious and slow that you frequently have to patch locally now rather than send the patch upstream and wait for updates. (This contrasts strongly with using FOSS software direct from author(s) instead of through a distro.)

For example RHEL8 has an selinux policy that prevents systemd from loading iptables - pretty disastrous, right? And might even be pretty simple to fix since it looks like a regression to a known Fedora bug, right?

Red Hat: Well, it'll get fixed in the next quarterly update set, yawn yawn.

Not meaning to pick solely on Red Hat, just using a current and pertinent example.

The bug in RHEL8 is but I can't find the old Fedora bug any more.

hazel 10-18-2019 12:39 PM

No. My C isn't good enough to even understand most source code and my C++ is nonexistent.

teckk 10-18-2019 01:16 PM

Sure. On smaller source trees. If I can understand it.

From Dillo 3.0.5 source tree.

Starting with line 14

class FltkViewport: public FltkWidgetView
  enum GadgetOrientation { GADGET_VERTICAL, GADGET_HORIZONTAL };

  enum { SCROLLBAR_THICKNESS = 25 };

  int scrollX, scrollY;
  int scrollDX, scrollDY;
  int hasDragScroll, dragScrolling, dragX, dragY;
  int horScrolling, verScrolling;

  Fl_Scrollbar *vscrollbar, *hscrollbar;

  GadgetOrientation gadgetOrientation[4];
  lout::container::typed::List <lout::object::TypedPointer < Fl_Widget> >

  void adjustScrollbarsAndGadgetsAllocation ();
  void adjustScrollbarValues ();
  void hscrollbarChanged ();
  void vscrollbarChanged ();
  void positionChanged ();

Dillo has a skinny little scrollbar. Change 25 to what you wish.

I do that every now and then.

Larger projects like Firefox for example, you would almost have to be on the dev team to understand how/when/where/what.

dugan 10-18-2019 01:18 PM

Click it.

jsbjsb001 10-18-2019 01:42 PM

I'm not really sure if this counts, since there is no license for the program, and it's not been released for public download AFAIK. But anyway, another member wrote me a program to help with my mathematical skills/improving them, and I managed to add a fopen() call so it would save the end result/my "score" to a file, rather than having to keep copying and pasting the result/score into a text file each time I run it.

So if the above does count, then yes, although it wasn't much, just a couple of lines and that's it. If the above doesn't count, then no, I haven't.

Shiori-kun 10-18-2019 02:33 PM

You mean I am not supposed to rewrite sections of code to make it work?!?!?!?

Simply, yes but not as much these days as I use to.

scasey 10-18-2019 03:01 PM

I voted No. I have applied other people's patches to open source applications (qmail works much better after patching), but I didn't create the patches myself.

pan64 10-18-2019 03:07 PM

that is an interesting example: we reworked the perl script debmirror to fit our needs (if I remember well we make it run much faster too), but did not contribute ahything. Does it count?

Janvanl 10-18-2019 04:15 PM

Localised some files for german and for dutch users.
Made small changes to projects to make them work for the german or dutch market.


mathwhiz 10-18-2019 04:46 PM

I produced an extension of GCC with "lightweight" classes. It's available at my website

rusty_car 10-18-2019 04:49 PM


Originally Posted by pan64 (Post 6048269)
that is an interesting example: we reworked the perl script debmirror to fit our needs (if I remember well we make it run much faster too), but did not contribute anything. Does it count?

Well, I'm assuming it counts, as that sort of thing is what I did - I hacked up minicom to have an internet service running (well, 2 actually) to allow controlling, remotely if/where/when it did logging. And other stuff - its been a while and I'd have to go look at the code.

All times are GMT -5. The time now is 11:36 PM.