Stories
Slash Boxes
Comments

SoylentNews is people

posted by cmn32480 on Sunday May 03 2015, @04:43PM   Printer-friendly
from the can't-we-all-just-get-along dept.

Bruce Byfield addresses the all-too-often-seen ugliness in open source software circles, and the tendency of open source enthusiasts, to start flame wars based on their personal preference.

He explains that most people working in open source development and free software have very strong feelings of satisfaction in their contributions to the community. But often these feelings have an ugly side.

The issue was brought to a head in an article about the decline of Apache OpenOffice, and the ascendance of LibreOffice. His email indicated that many writers wanted to see Apache humiliated due to differences in their approach even though the products were basically the same code-base.

What disturbs me is when the strong feelings devolve into insularity that excludes other free software projects.

Why, for example, would I possibly want to see OpenOffice humiliated? I prefer LibreOffice's releases, and -- with some misgivings -- the Free Software Foundation's philosophy and licensing over that of the Apache Foundation. I also question the efficiency of having two office suites so closely related to each other. Yet while exploring such issues may be news, I don't forget that, despite these differences, OpenOffice and the Apache Foundation still have the same general goals as LibreOffice or the Free Software Foundation.

[More after the Break]

This reminded him of the Desktop Environment wars, KDE vs Gnome, while several smaller players like XFCE, LXDE, and Enlightenment and a host of others, chug along largely unscathed. We see the same sort of camps forming around File Systems, Init Systems, as well as many user-space programs. We see user communities vilified, and companies trashed, usually for something tangential to the actual free or open source software involved. People become insular.

Sometimes, this kind of insularity may reflect which projects a person works on. However, at least as often, it is voiced by average users with no direct connection to any of the projects involved. It appears an expression of the human need to belong, although an unusually misguided one. ... In fact, I suspect that this insularity is responsible for much of the opposition to diversity efforts. After all, when your sense of who you are depends on externals and what you define yourself as not being, any change becomes uncomfortable -- and, often, an outright threat to your sense of self.

Personally, I'd have to say that what annoys me most about free and open source software are the forced marches imposed on the users, for frivolous reasons. To combat the insularity I see in myself, I try to install a different Distro, or a different OS every 6 months or so. I guess it's time to add a new Desktop Environment to those experiments. virtual machines are a godsend for this.

Bruce goes on to say

In theory, maybe some way exists to encourage the enthusiasm that free software inspires while discouraging the ugliness of insularity.

Soylentils: Do you ever force yourself to step outside your comfort zone with your choices of free software? If so, how, and how often?

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by Zinho on Monday May 04 2015, @04:34PM

    by Zinho (759) on Monday May 04 2015, @04:34PM (#178589)

    Show us this code you dislike?

    Not that I care one way or the other, but they did provide a link to the packaging request, which included a link to the source download. [codeplex.com]

    Just from a quick look, I find it interesting that they chose Perl as the engine for this, but since it's a text-based project I guess that's reasonable. There seems to be a lot of string literals used pervasively (ASCII art? didn't look too close), and a TON of places where the code gets really repetitive and could have been refactored to be shorter. Pervasive use of if...elsif...elsif...else instead of switch/case is a good example.

    I find it hard to get really worked up about any of that, though; perhaps I'm just not a good enough coder to recognize the WTF involved? This is Perl, after all, so it's expected to be write-only. Anyone care to take another look and report back on the code quality issue?

    *note: I'm wiling to admit that perhaps I've missed the point and that the GP should have been the one providing code snippets since they're the one suggesting it's got problems. If so, ignore me and carry on.

    ***PRE-SEND EDIT***
    OK, found one for myself. The author apparently wants the money displayed in a 10-character wide field, with the number right-justified in this field. They've figured out how to use sprintf to display numbers larger than 10^11-1, but use "print" and hardcoded spaces in a cascade of if...elseif... statements for everything smaller. Check it out:

    sub rllvrtotal {
            sep;
            if ($money > 9999999999) {
            print colored(sprintf("%.4e", $money),"$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 1000000000) {
            print colored("$money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 100000000) {
            print colored(" $money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 10000000) {
            print colored("  $money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 1000000) {
            print colored("   $money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 100000) {
            print colored("    $money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 10000) {
            print colored("     $money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 1000) {
            print colored("      $money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 100) {
            print colored("       $money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 10) {
            print colored("        $money","$rllvrcolor13 on_$rllvrcolor14");
            } elsif ($money >= 1) {
            print colored("         $money","$rllvrcolor13 on_$rllvrcolor14");
            } else {
            print colored("         $money","$rllvrcolor13 on_$rllvrcolor14");
            }
            sep;
    }

    All of that could be functionally replaced by the following, and lose no clarity:
    sub rllvrtotal {
            sep;
            # output 10 characters wide, right justified, switch to exponential notation if needed
            print colored(sprintf("%10g", $money),"$rllvrcolor13 on_$rllvrcolor14");
            sep;
    }

    The WTF for me is that they went to the trouble of looking up sprintf for the exponential output, but didn't notice that the formatting they want is a built-in feature of the same function. Seriously, perldoc is your friend. [perl.org]
    Also, apparently, zero and all negative numbers are treated the same; I don't see any error checking going on to make sure the number is a positive integer.

    I guess I cared enough after all =P

    --
    "Space Exploration is not endless circles in low earth orbit." -Buzz Aldrin
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by Zinho on Monday May 04 2015, @05:30PM

    by Zinho (759) on Monday May 04 2015, @05:30PM (#178641)

    Self-replying with shame, bear with me. Example #2 of WTF from this code:

    The title screen is user-adjustable, and two of the options are "viewdecss" and "nowomensrights". As an easter egg goes the viewdecss screen is harmless, but I'm going to take a wild guess that the subroutine nowomensrights is the one that would start a flame war with the Debian packaging crew. Grepping through the code I can't tell that there's any indication to the user that it's there; the developer threw it in for personal reasons, I guess.

    How bad is it that I react to the anti-feminist gesture with a "meh" and get worked up over the fact that detection code for it uses eq instead of a regex with "~="? I'd like to think that my "meh" comes from a trained response not to knee-jerk just because someone's intentionally trying to offend me. Also, who uses Perl but doesn't grok how to do a case-insensitive text search?

    elsif (($titlescreen eq 'feminism') or ($titlescreen eq 'women')
                    or ($titlescreen eq 'women\'s rights') or ($titlescreen eq '19th ammendment')
                    or ($titlescreen eq 'women\'s vote')
                    or ($titlescreen eq 'FEMINISM') or ($titlescreen eq 'WOMEN')
                    or ($titlescreen eq 'WOMEN\'S RIGHTS') or ($titlescreen eq '19TH AMMENDMENT')
                    or ($titlescreen eq 'WOMEN\'S VOTE')) {
                    newlines();
                    nowomensrights();
    }

    The programmer could have saved himself a bunch of work by adding "$titlescreen =~ tr/A-Z/a-z/;" to the input scrubbing; currently all he's got is a "chomp($titlescreen);". Don't get me started on blindly accepting unfiltered user input. [perl.org]

    I guess the real question for me is to what extent do the Debian maintainers feel that the content of code in their repository is a reflection on them? I know that they split repositories on "Free"/"Non-Free" lines, so developer and user freedom are important to them. Have they also declared the entire codebase, included contributed code, as a "Hate-Free" zone? Are they really afraid that people will blame the distribution for an 3rd-party package's misogyny?

    --
    "Space Exploration is not endless circles in low earth orbit." -Buzz Aldrin
    • (Score: 0) by Anonymous Coward on Tuesday May 05 2015, @07:33PM

      by Anonymous Coward on Tuesday May 05 2015, @07:33PM (#179214)

      As Debian is a volunteer run project, did anyone actually volunteer to package this? I can't blame Debian for not packaging it if no one wants to become the maintainer for that package.

      For all we know "greg" could actually be the author of that game using a pseudonym, as all Google turned up for that email address was the bug reports asking for that game to be packaged.