Loading ...
Sorry, an error occurred while loading the content.
 

May the Source Be With You

Expand Messages
  • Uwe Zdun
    I just found this nice article about laws protecting software code: http://www.wired.com/wired/archive/9.12/lessig_pr.html Some parts strongly remind me of the
    Message 1 of 5 , Jan 10, 2002
      I just found this nice article about laws protecting software code:

      http://www.wired.com/wired/archive/9.12/lessig_pr.html

      Some parts strongly remind me of the Feyerabend discussions, such as:

      Worse, the copyright system safeguards software without creating any new
      knowledge in return. When the system protects Hemingway, we at least get to
      see how Hemingway writes. We get to learn about his style and the tricks he
      uses to make his work succeed. We can see this because it is the nature of
      creative writing that the writing is public. There is no such thing as
      language that conveys meaning while not simultaneously transmitting its
      words. Software is different: Software gets compiled, and the compiled code
      is essentially unreadable; but in order to copyright software, the author
      need not reveal the source code. Thus, while the English department gets to
      analyze Virginia Woolf's novels to train its students in better writing, the
      computer science department doesn't get to examine Apple's operating system
      to train its students in better coding.


      so, perhaps it is also of interest to some of you ...

      --
      Uwe Zdun
      Institute for Computer Science, University of Essen
      Phone: +49 201 81 00 332, Fax: +49 201 81 00 398
      zdun@{xotcl,computer,acm}.org, uwe.zdun@...
    • Gross Joshua
      Uwe, Really, not to nitpick, but I think that it is worth saying; the core of Mac OSX is freely available: http://www.opensource.apple.com/projects/darwin/
      Message 2 of 5 , Jan 10, 2002
        Uwe,

        Really, not to nitpick, but I think that it is worth
        saying; the core of Mac OSX is freely available:

        http://www.opensource.apple.com/projects/darwin/

        That having been said, massive amounts of code (some
        of it even good code) are available open-source, and
        yet I have never heard of, let alone taken, a course
        that reviewed code, even code produced for the class.
        In textual analysis, we have the technique of
        exegesis. Perhaps we are wholely lacking an exegetic
        technique in software.

        This is certainly true in practice; I've never seen a
        code review where any "close reading" was performed.

        -Josh

        --- Uwe Zdun <uwe.zdun@...> wrote:
        > I just found this nice article about laws protecting
        > software code:
        >
        >
        http://www.wired.com/wired/archive/9.12/lessig_pr.html
        >
        > Some parts strongly remind me of the Feyerabend
        > discussions, such as:
        >
        > Worse, the copyright system safeguards software
        > without creating any new
        > knowledge in return. When the system protects
        > Hemingway, we at least get to
        > see how Hemingway writes. We get to learn about his
        > style and the tricks he
        > uses to make his work succeed. We can see this
        > because it is the nature of
        > creative writing that the writing is public. There
        > is no such thing as
        > language that conveys meaning while not
        > simultaneously transmitting its
        > words. Software is different: Software gets
        > compiled, and the compiled code
        > is essentially unreadable; but in order to copyright
        > software, the author
        > need not reveal the source code. Thus, while the
        > English department gets to
        > analyze Virginia Woolf's novels to train its
        > students in better writing, the
        > computer science department doesn't get to examine
        > Apple's operating system
        > to train its students in better coding.
        >
        >
        > so, perhaps it is also of interest to some of you
        > ...
        >
        > --
        > Uwe Zdun
        > Institute for Computer Science, University of Essen
        > Phone: +49 201 81 00 332, Fax: +49 201 81 00 398
        > zdun@{xotcl,computer,acm}.org, uwe.zdun@...
        >
        > ------------------------ Yahoo! Groups Sponsor
        >
        > To unsubscribe from this group, send an email to:
        > feyerabend-project-unsubscribe@yahoogroups.com
        >
        >
        >
        > Your use of Yahoo! Groups is subject to
        > http://docs.yahoo.com/info/terms/
        >
        >


        __________________________________________________
        Do You Yahoo!?
        Send FREE video emails in Yahoo! Mail!
        http://promo.yahoo.com/videomail/
      • Uwe Zdun
        Josh, I fully agree (the article has some flaws anyway). It just points out that copyrights are also an important problem in this realm. I think the more
        Message 3 of 5 , Jan 11, 2002
          Josh,

          I fully agree (the article has some flaws anyway). It just points out that
          copyrights are also an important problem in this realm. I think the more
          important argument still is our discipline in analyzing and teaching
          programming.

          I think popular open-source code is especially well suited as a basis for
          such analyses (say, for teaching purposes) because usually a lot of
          different people have actually analyzed it in detail, provided patches,
          etc. for their own work with it, whereas many industry projects only have
          a limited number of developers. So in popular OSS projects often, in my
          eperience, there is a high discpline in coding styles, less specific
          coding idioms, and clean/simple solutions (though this is hard to
          generalize). However, understanding and recognizing idioms and coding
          styles ad hoc is also an important part of programming, therefore, it is
          also a good excerise to analyze code created by an isolated group of
          developers ...

          --uwe

          On Thursday 10 January 2002 17:59, you wrote:
          > Uwe,
          >
          > Really, not to nitpick, but I think that it is worth
          > saying; the core of Mac OSX is freely available:
          >
          > http://www.opensource.apple.com/projects/darwin/
          >
          > That having been said, massive amounts of code (some
          > of it even good code) are available open-source, and
          > yet I have never heard of, let alone taken, a course
          > that reviewed code, even code produced for the class.
          > In textual analysis, we have the technique of
          > exegesis. Perhaps we are wholely lacking an exegetic
          > technique in software.
          >
          > This is certainly true in practice; I've never seen a
          > code review where any "close reading" was performed.
          >
          > -Josh
          >
          > --- Uwe Zdun <uwe.zdun@...> wrote:
          > > I just found this nice article about laws protecting
          > > software code:
          >
          > http://www.wired.com/wired/archive/9.12/lessig_pr.html
          >
          > > Some parts strongly remind me of the Feyerabend
          > > discussions, such as:
          > >
          > > Worse, the copyright system safeguards software
          > > without creating any new
          > > knowledge in return. When the system protects
          > > Hemingway, we at least get to
          > > see how Hemingway writes. We get to learn about his
          > > style and the tricks he
          > > uses to make his work succeed. We can see this
          > > because it is the nature of
          > > creative writing that the writing is public. There
          > > is no such thing as
          > > language that conveys meaning while not
          > > simultaneously transmitting its
          > > words. Software is different: Software gets
          > > compiled, and the compiled code
          > > is essentially unreadable; but in order to copyright
          > > software, the author
          > > need not reveal the source code. Thus, while the
          > > English department gets to
          > > analyze Virginia Woolf's novels to train its
          > > students in better writing, the
          > > computer science department doesn't get to examine
          > > Apple's operating system
          > > to train its students in better coding.
          > >
          > >
          > > so, perhaps it is also of interest to some of you
          > > ...
          > >
          > > --
          > > Uwe Zdun
          > > Institute for Computer Science, University of Essen
          > > Phone: +49 201 81 00 332, Fax: +49 201 81 00 398
          > > zdun@{xotcl,computer,acm}.org, uwe.zdun@...
          > >
          > > ------------------------ Yahoo! Groups Sponsor
          > >
          > > To unsubscribe from this group, send an email to:
          > > feyerabend-project-unsubscribe@yahoogroups.com
          > >
          > >
          > >
          > > Your use of Yahoo! Groups is subject to
          > > http://docs.yahoo.com/info/terms/
          >
          > __________________________________________________
          > Do You Yahoo!?
          > Send FREE video emails in Yahoo! Mail!
          > http://promo.yahoo.com/videomail/
          >
          >
          > To unsubscribe from this group, send an email to:
          > feyerabend-project-unsubscribe@yahoogroups.com
          >
          >
          >
          > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

          --
          Uwe Zdun
          Institute for Computer Science, University of Essen
          Phone: +49 201 81 00 332, Fax: +49 201 81 00 398
          zdun@{xotcl,computer,acm}.org, uwe.zdun@...
        • Brian Marick
          ... Someday, I would like to teach a course on applying techniques of literary criticism to code. (The University of Illinois once let me teach a course called
          Message 4 of 5 , Feb 8, 2002
            At 10:59 AM 1/10/02, Gross Joshua wrote:
            >That having been said, massive amounts of code (some
            >of it even good code) are available open-source, and
            >yet I have never heard of, let alone taken, a course
            >that reviewed code, even code produced for the class.
            >In textual analysis, we have the technique of
            >exegesis. Perhaps we are wholely lacking an exegetic
            >technique in software.
            >
            >This is certainly true in practice; I've never seen a
            >code review where any "close reading" was performed.

            Someday, I would like to teach a course on applying techniques of literary
            criticism to code. (The University of Illinois once let me teach a course
            called "CS397BEM: Being Wrong". In those days, they'd apparently let you
            teach anything, so long as they didn't have to pay you. The course was a
            worthwhile idea, mind you: my goal was to show programmers, via examples
            from many fields, how often solutions to problems bring with them new
            problems. To make them expect generated problems, not be shocked by them.)

            The lit crit course would use a simple text of modern criticism, such as
            Tyson's _Critical Theory Today: A User-Friendly Guide" (wretched title) or
            Barry's _Beginning Theory_. Some techniques - reader-response criticism,
            deconstruction, maybe the new historicism - seem fairly readily applicable.
            Queer theory, I dunno.

            Given the right five people, it could be a blast. Maybe more of an exercise
            in creativity than anything else, but that's OK.

            If anyone else does things like that, please let me know.

            --
            Brian Marick, marick@...
            www.testing.com - Software testing services and resources
            www.testingcraft.com - Where software testers exchange techniques
            www.visibleworkings.com - Adequate understanding of system internals
          • David Cymbala
            Josh (and Brian too, I guess)- You might want to take a look at Lion s commentary on the Unix version 6 code. It is a tour de force of many aspects of a real
            Message 5 of 5 , Feb 8, 2002
              Josh (and Brian too, I guess)-

              You might want to take a look at Lion's
              commentary on the Unix version 6 code.
              It is a tour de force of many aspects of
              a "real" operating system, as well as a
              review of the particulars of a very early
              version of C and its strengths and weaknesses.
              A good read, but not for the timid.

              But on the whole, it would appear that
              most code reviews happen in more
              intimate settings (such as CodingInPairs)
              rather than in a setting where more people
              can criticize the overall concept, design
              and implementation.

              I've done code review on the job, but usually
              only after the person who wrote the code is
              gone and unable to answer for it. I have certainly
              learned a lot about what *not* to do by that
              method. I even have "coding standards" for
              C++, Java, and HTML, but it seems hard to
              get developers to understand the reasons for
              the standards, and to have them take "standards"
              very seriously at all.

              What I find odd is that even though OO languages
              are supposedly easier to "review", programmers
              are still rather sensitive to criticism in general.
              Perhaps it's because they are given such abysmal
              specs and work under such ridiculous expectations
              that high-quality work the first time around on a project
              is so rare. Perhaps that is why good design is often
              the result of good hindsight.

              Does this also extend to Open Source projects?
              I have seen many comments in the code of open
              source projects that clearly show the author has
              a tounge-in-cheek attitude about much of the project,
              and might not mind a code review, but might not
              act on it much either. I'd like to see a work environment
              where code review was more of an ordinary fact of
              development in general, but it seems that usually
              neither managers nor developers get much time to
              justify it on the job.

              Perhaps a class such as the one you are suggesting
              would apply better to senior developers who are taking
              on a more managerial role rather than novice developers.
              On the other hand, such general skills could be helpful
              in speeding up the learning process of novices so they
              become senior more quickly. :-)

              -David

              At 04:57 PM 2/8/02 -0600, Brian Marick wrote:
              At 10:59 AM 1/10/02, Gross Joshua wrote:
              >That having been said, massive amounts of code (some
              >of it even good code) are available open-source, and
              >yet I have never heard of, let alone taken, a course
              >that reviewed code, even code produced for the class.
              >In textual analysis, we have the technique of
              >exegesis. Perhaps we are wholely lacking an exegetic
              >technique in software.
              >
              >This is certainly true in practice; I've never seen a
              >code review where any "close reading" was performed.

              Someday, I would like to teach a course on applying techniques of literary
              criticism to code. (The University of Illinois once let me teach a course
              called "CS397BEM: Being Wrong". In those days, they'd apparently let you
              teach anything, so long as they didn't have to pay you. The course was a
              worthwhile idea, mind you: my goal was to show programmers, via examples
              from many fields, how often solutions to problems bring with them new
              problems. To make them expect generated problems, not be shocked by them.)

              The lit crit course would use a simple text of modern criticism, such as
              Tyson's _Critical Theory Today: A User-Friendly Guide" (wretched title) or
              Barry's _Beginning Theory_. Some techniques - reader-response criticism,
              deconstruction, maybe the new historicism - seem fairly readily applicable.
              Queer theory, I dunno.

              Given the right five people, it could be a blast. Maybe more of an exercise
              in creativity than anything else, but that's OK.

              If anyone else does things like that, please let me know.

              --
              Brian Marick, marick@...
              www.testing.com - Software testing services and resources
              www.testingcraft.com - Where software testers exchange techniques
              www.visibleworkings.com - Adequate understanding of system internals
            Your message has been successfully submitted and would be delivered to recipients shortly.