Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.development.apps > #679

Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk"

From crankypuss <crankypuss@nomail.invalid>
Newsgroups comp.os.linux.development.apps
Subject Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk"
Date 2014-04-03 03:15 -0600
Organization A noiseless patient Spider
Message-ID <lhj8ro$mth$1@dont-email.me> (permalink)
References <lh6a4g$jtg$1@dont-email.me> <lhgnoo$1n2$1@dont-email.me> <878uro7xkp.fsf@sable.mobileactivedefense.com>

Show all headers | View raw


On 04/02/2014 05:57 AM, Rainer Weikusat wrote:
> crankypuss <crankypuss@nomail.invalid> writes:
>> On 03/29/2014 05:17 AM, crankypuss wrote:
>>> On 03/28/2014 06:45 AM, Rainer Weikusat wrote:> crankypuss
>>> <crankypuss@nomail.invalid> writes:
>>>   >> On 03/27/2014 09:26 AM, Rainer Weikusat wrote:
>>>   >>> As part of one of the usual 'pleasant exchanges' with the people whose
>>>   >>> ability to make a living depends on controlling access to the Linux
>>> code
>>>   >>> base, it came to light that a receive operation on a socket in
>>>   >>> non-blocking mode can actually be blocked forever on Linux,
>>>   >
>>>   > [example of a non-blocking read being 'frozen out' by a prior
>>> blocking one]
>>>   >
>>>   > [...]
>>>   >
>>>   >> So it goes.
>>>   >
>>>   > Indeed. Software has bugs or 'unexpected features' in 'rarely used
>>>   > corners' all the time.
>>>
>>> Yes, bad software does, good software not so much because it is
>>> exhaustively tested via regression suites.  The add-a-kludge philosophy
>>> does not much admit the concept of regression suites.  Old software is
>>> usually bad software; feature-creep breeds add-a-kludge.  We end up
>>> seeing the "unix philosophy" of keeping things simple, tidy, reusable,
>>> do-one-thing-well, contorted into a mess because of feature-creep and
>>> add-a-kludge; one easy example of this is the fact that the 'find'
>>> command goes beyond finding files to performing "actions" on them, and
>>> it is far from the only available example.
>>>
>>> That isn't to say that I'm entirely innocent myself, the ease of adding
>>> one little option to do something a bit different rather than building
>>> something new is definitely seductive.  The tools we have to work with
>>> don't make it easy to see that the code which exists is not doing quite
>>> what we think if viewed in the abstract, that what we really wanted to
>>> begin with was something a bit different.  The Unix-world's tendency to
>>> parse human-readable command output just makes it worse, not to mention
>>> the fantasy some call "waterfall development" which offers the delusion
>>> that we can actually define our programs in advance and then implement
>>> them as imagined.
>>>
>>> In real life the very first bug-fix has converted what we thought was
>>> waterfall development into iterative development.  We are actually
>>> engaging in a process of reverse-engineering every time we choose
>>> whether to add another option, or convert the previous functionality
>>> into two or more new functions.  People are lazy, the tools fight
>>> against us, usage fights against us.  It's messed up but it can't be
>>> fixed overnight, especially when "nobody" is working toward it.
>>>
>>> The FOSS philosophy also seems to work against us, because we need to
>>> eat food and sleep somewhere warm; unfunded FOSS development has a tough
>>> row to hoe, while funded FOSS development is only as free as management
>>> allows it to be.
>>>
>>>   >> The question of how these people allegedly control access
>>>   >> to the linux codebase is fascinating.
>>>   >
>>>   > Google "old boys network".
>>>   >
>>>
>>> I know very well what an old-boys' network is, but I don't see how that
>>> allows anyone to control access to the linux codebase.
>>>
>>> Although I've been involved with software since 1969, professionally
>>> from 1972-2000, it's only within about the past 18 months that I've had
>>> any involvement with linux.  I've been building software on my own since
>>> I figured out that I was "retired" rather than simply "unemployed", and
>>> lately the question of if/how to distribute some of it has come to the
>>> fore.
>>>
>>> I feel that the GPL puts undue resource requirements on the developer,
>>> one has to "make the source code available" or some such business.  The
>>> question of how to start a project that others can participate in
>>> modifying has led me to shrug mentally, thinking that perhaps the best
>>> way to "leave something behind" is simply to throw it into the "public
>>> domain" and let the chips fall.
>>>
>>> To hear that an old-boys' network controls access to the linux codebase
>>> gives me significant curiosity as to just how that can happen.  Isn't it
>>> in direct opposition to the whole FOSS philosophy?
>>>
>>> All I can assume without some further explanation is that the old-boys'
>>> network is comprised of those who decide what modifications will be
>>> included in the mainline "product".  I'm largely ignorant of the version
>>> control mechanisms in common use, but isn't it possible to "fork" a
>>> project and begin new development independent of the old-boys' network?
>>>    I suppose that would merely create a new and different old-boys' network?
>>
>> That nobody is interested seems revelatory.
>
> I wrote a reply to that but after thinking about it for a while, I
> considered it too personal the be suitable here and cancelled it
> relatively shortly after posting.
>
> An ultra-condensed version would be: You can fork Linux all you like and
> more-or-less everyone is already doing that (I'm maintaining a fork
> because the product I'm working on needs some features the mainline
> kernel either won't ever have[*] or the people sitting on the code in
> question consider 'disposable junk', especially since it came from
> me[**] or I didn't bother to tell anyone about them [***]) but this is a
> 'silently suffering' situation: You'll get all the drawbacks of having
> to do kernel programming and the best which will have happen 'in return'
> (except that you get the code) is that the 'official Linux people' will
> publish great many nasty things about you and your code, even with
> fairly hair-brained excuses, and set forth to reimplement it while
> suggesting that only and idiot like you could ever have wasted time and
> money on 'doing kernel stuff' without their seal of approval (hereby
> christened 'pulling an Android') - which - coincidentally - means "done
> by people they approve of".
>
> [*] extensions to the 'deprected' AF_KEY IPsec configuration mechanism
>
> [**] network namespace support for the Netfilter NF_LOG target
>
> [***] network namespace support for IP sets (out-of-tree version)
>
>

I'm a firm believer in the idea that superior technology will always 
overcome inferior technology in a "marketplace" where users are free to 
choose.

The "we bless it" approach is reminiscent of Microsoft and all that is 
proprietary.

Software providers tend to maximize profit, whether the profit is 
economic or esteem.  That's a bad thing imo, it should be perfection 
that is maximized.

In the linux arena, it appears to me that distro builders have a huge 
advantage over the individual, in terms of controlling who will see what 
because it is, or isn't, in their distro.

Then we're back to people needing to eat food and sleep in a warm place, 
that tends to jerk folks around on a short chain.  And back to the fact 
that a lot of good code is buried where "users" never see it, what users 
want is glitz so there's a lot of bad glitz out there.

Distro builders want more money or more esteem, they do what seems like 
it will reap the most praise for the least effort, ie they're normal 
human beings.

To me it seems kind of messed-up, but maybe that's just my view of it.

Back to comp.os.linux.development.apps | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk" crankypuss <crankypuss@nomail.invalid> - 2014-03-29 05:17 -0600
  Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk" crankypuss <crankypuss@nomail.invalid> - 2014-04-02 04:11 -0600
    Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk" Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2014-04-02 12:57 +0100
      Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk" crankypuss <crankypuss@nomail.invalid> - 2014-04-03 03:15 -0600
        Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk" Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2014-04-04 16:46 +0100
          Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk" crankypuss <crankypuss@nomail.invalid> - 2014-04-05 04:10 -0600
            Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk" Rainer Weikusat <rweikusat@mobileactivedefense.com> - 2014-04-05 15:53 +0100
              Re: FOSS and development philosophy; was "Linux O_NONBLOCK bug/ quirk" crankypuss <crankypuss@nomail.invalid> - 2014-04-06 03:21 -0600

csiph-web