Archive for the ‘Community’ Category

Will FOSS Damages Finding Spook Government Agencies?

Posted Tuesday, February 23rd, 2010 by Jason Hull

Last week, the U.S. Federal District Court of Northern California found a software developer liable for unattributed use of a Java Model Railroad Interface.   The lack of attribution, as required in the license, the Court found, violated the Digital Millennium Copyright Act.  While the Court’s finding has limited legal jurisdiction, it does set a precedent which will surely be cited in future cases looking for both damages and to set further legal precedent and define more fully the cases in which stare decisis will apply.

While, analogously, no different than any other license violation, I predict that this finding will have a ripple effect in government adoption of open source projects in their applications, further dampening the adoption rates.

  • Many government agencies are skeptical of open source in the first place.  Open source projects, rightly or wrongly, have a blanket aura of the two high school kids in a garage image.  Most government agencies like controls and process, which they don’t perceive exist in open source projects.  If some of them tried to become committers on major projects, perhaps the perception would change.
  • Very few open source projects have sales representatives.  The sales representatives at major software companies such as Microsoft do an excellent job of the appropriate education and shepherding to provide assurances to the government buyers.
  • Walking through a purchase process gives the perception of license compliance.  A contracting officer can say that they have made a purchase and have a license and feel like they are in compliance, although audits oftentimes reveal shortcomings.  With an open source project, anyone can download source code and deploy the software onto a system, creating manifold increases in risk of license violations.
  • Most legal counsel isn’t familiar with open source licensing requirements and restrictions.  Rather than digging into and understanding GPL or “copy-left” restrictions, it’s easier to just stay away from it.  Again, there are probably as many, if not more, EULAs than accredited and accepted open source licenses, but there are also sales representatives to walk through EULAs whereas the open source projects do not have such champions.
  • It’s easier to create blanket restrictions than to make judgments on each case based on the specific merits of the case.  The finding in Jacobsen v. Katzer makes it easier to point to a known and potentially quantifiable risk to deny use.  The Government is, and in most cases rightly so, risk-averse, and this finding creates a potentially big risk.  The risk may be a black swan, but it is very hard to measure and, in a perfect (in the Government’s view probably an imperfect) storm, could be potentially exceptionally large.

While it won’t have an immediate effect, the end result, I expect, will be an even more rigorous set of processes to complete for approval of the use of most open source software within the government.  I hope this is not the case, because there are many cases where open source software is the best solution.  Furthermore, I truly believe that:

  • By and large, open source developers are not a litigious group.  They want to write software which makes life easier, and as long as they get the credit and attribution they want, they’re happy to share.  It’s what’s written in the licenses.  Plus, legal paths are expensive, and very few can afford to go down that path.  Compliance with a very few legal requirements or selection of a different platform will avoid any potential legal pratfalls.

Thanks to Onlyopensource for pointing out this article!

James Bach, the bad boy of Testing?

Posted Monday, October 26th, 2009 by Eric Pugh

So, is James Bach (@jamesmarcusbach) the bad boy of testing?

I flew up to Boston on Monday to lead some workshops on Continuous Integration. I checked into my room at the Hyatt and then went downstairs to see who was around. I ran into a couple of speakers milling about, and eventually joined one of them, and we headed over to the MIT Press bookstore, me to look for my Solr book. I wasn’t too sure of the name of the other speaker I was with (I asked once, but couldn’t quite remember what it was…). So we got to the book shop, I ask my fellow speaker again: James Bach. The name I was familiar with, but couldn’t quite place it… I ended up buying Parentonomics, and then we go for coffee.

So, over coffee, he asks me about what my topic is, and I gave him the brief summary of my two CI related workshops. Wow.. Little did I realize that I was sitting with the guy who rails against the “fetish” that Agile folks have for automated testing! That his entire approach to “testing” is to use skilled, motivated folks who do “sapient testing”. And I’m the guy who’s selling an approach that REQUIRES automated tests! That encourages expanding the use of automated testing!

He actually walked me through a process of talking about how to “think like a tester”, and it was really great mini-workshop.. He definitely subscribes to the socratic approach, and believes in his message, I was sweating at the end of it! That chat probably sparked more ideas in less time over that coffee then anything else this week. I also heard a lot of ideas and phrases that were echoed in Michael Bolton’s keynote later on in the week. Clearly a lot of collaboration between the two!

Probably the biggest idea that James and chatted about was the idea that automated tests really aren’t automated tests, they are automated checks. They verify that the expected behavior of the code was met. His argument that if you want to do testing, real testing, then computers, automated processes can’t meet that need, only people can.

Now, I don’t know if I believe that is completely true, but I am very aware that the “manual testing” where long test scripts written as Word documents are executed by human beings by hand are really a waste of human potential. And that those test scripts are really, to use James terms, “check scripts” because the people are not using any creativity! In fact, a lot of my interest in CI comes from the idea that people should not do monkey testing, that machines can do it much better, and my frustation with the perception that testing is a low value activity and can be easily shipped off to low skilled folks.

I think that this shift away from the term “test” for automated tests is actually happening in many places. In the Ruby world, we have libraries like Shoulda that are moving from using words like assert to other words like should. A Cucumber test really shows how controlled the space that a test needs to be to work well in an automated fashion:

Scenario: See all vendors
Given I am logged in as a user in the administrator role
And There are 3 vendors
When I go to the manage vendors page
Then I should see the first 3 vendor names

So while I don’t know if I am bought in on the idea that only people can do “testing”, and machines can only do “checking”. Tools like Heckle try to simulate aspects of what a human can do. While not suggesting that we can automate the “does my website look okay after someone changed the CSS” type of work today, in the future our automated testing will be more capable then just “checking” because we will move beyond the very constrained tests we have today to ones that mimicing the richness of the simulators that Airline Pilots use. Instead of testing the training given to pilots, we’ll be testing the robustness of software via simulations!

At any rate, James Bach, while taking a rather provocative approach to sharing his ideas, does subscribe to my favorite bullet in the Agile Manifesto: Individuals and interactions over processes and tools.

Here is him giving a great presentation with the subversive title of “How to Fake a Project” that was incredible entertaining, and also quite thought provoking:

James Bach talking about "Faking a Test Plan"



What do you think? Automated testing is a fetish of the Agile community?

OpenSource Connections Announces Matching Donation For American Freedom Foundation

Posted Tuesday, October 20th, 2009 by Jason Hull

As many of you know, I am a disabled veteran, but I was fortunate in that my injuries were very minor, particularly compared to what many of our Wounded Warriors go through on a regular basis.  OpenSource Connections is a sponsor of the November 7 American Freedom Festival, presented by the American Freedom Foundation.  Proceeds for that foundation go directly to help Wounded Warriors get back on their feet after their service for us.

Today, we’re announcing a little effort to help raise some funds for the American Freedom Foundation.  It’s VERY simple.  All you have to do is go to their Facebook page at http://www.facebook.com/pages/American-Freedom-Foundation/132999207220?ref=ts and become a fan!  OpenSource Connections will donate $1 to the cause for each new fan up to 500 new fans between now and 5:00 PM on October 30.  Please go to the fan page and become a fan and find out more about the great work that the American Freedom Foundation is doing for our Wounded Warriors!  Thanks!

Good Will, Coffee, Help Desks and Software.

Posted Friday, October 9th, 2009 by Michael Herndon

There is a true story behind this odd ensemble of a title. I remember it like it was yesterday. In fact, it was yesterday…..

The Story.

I was packing up my laptop when I was abruptly cornered by an energetic fellow.  He rattled off his problem in such a degree I could only process bit and pieces of his story.

He had spent 9 hours working with a software vendor who-must-not-be-named for credit card processors. They had gotten no where.

The first question screaming in my mind was why I being singled out to help him with a computer problem? I hide my geekness very well.  I strive to to prevent the typical questions like: will you fix my computer, vcr, dvd player, etc? Will you build me a website? Teach me HTML, please?

People fail to realize the differences between developers and IT. They also fail to see the different roles and specialization of certain knowledge for various parts of software development.

Touching a computer makes you liable for scape-goat-itis to consumers. Not only that, people have a bad habit of donning  you to become their free tech support [expletive deleted], whether you want it or not.

I turned around to see a co-worker,  that I now call Brutus, paying for coffee at the counter.  Having this flaw called empathy, I caved to energetic man in red. I agreed to look at the program and see what I could do.

Surprising the daunted man in red and the owner of this awesome local coffee house in the downtown mall of Charlottesville: I fixed the issue in about 3 minutes.

I’ve never seen the software before. The help desk and the developers of the software who connected remotely could not fix it. Why could I?  And no, I’m not super-developer-guy in skin tight and equally frightening spandex.

The Real Problem

The first part of the problem of is because many software vendors use a broken system. The help desk personnel reads scripted dialog, they don’t know the ins an outs of the software.

Some of help desk personnel at various companies even refuse to take initiative to go past the script. Even if its simple as searching google, they won’t do it.

Software developers are seldom familiar with the nuances of the operating system or system environments. They  are paid to develop software, not administrate or navigate all the pitfalls of minor differences in environment.

Thats why testing software and working with IT staff, users, clients, and people who know the business is so important.  Its important to have people who specialize in different aspects, like the desktop environment, performance and usability testing.

The attitude and mindset of the developers you hire is also important. If they stamp it “well it works on my machine” or “it the users fault”, its going to hurt your business and even hurt your clients/users.

The other major issue was that the developers did not take the time to really analyse the error message.  Instead they chased Alice down the rabbit hole, rather than simply listening.

The Solution.

I used the tech support cheat sheet that most of us savvy developers use to fix family computers and other things.

Taking the key parts of the error message, I put them into google. I glanced over a couple of posts. I saw a feasible issue. I verified the issue. The program was being started in a compatibility mode for windows 2000 on windows XP.

I tweaked the folder settings so the compatibilty mode was showing. Changed the compatibility mode. Restarted the application. They were now on their way.

So the solution was really listening to the problem and resolving to fix it.

The Story. Second Act.

It was an inconvenience to me. Helping people generally is.  But I’ve lost hours of life to soul-sucking computers and software issues.  I know pain and thy name is crappy software.

Besides with only a few minutes of my time, I was able to save a few people hours of pain and possible even a few premature grey hairs.   It was a good feeling to help someone and not deal with scape-goat-itis.

The man in red was certainly gracious. The store owner was kind to present me a token. A gift certificate for coffee. I really did not want anything, but its also rude to refuse a gift. It was kind of him.

With a few minutes of my time, I was able to help a local business owner and the man in red. The man in red, turned out to be a recent veteran, who was in business of credit card  processors.

It always cool to be able to help someone who served for this country.  They work hard and almost never expect anything in return.  They deserve much more than they ever receive. They never complain about it. Its humbling.

Even during lunch at a near by restaurant, the man in red came by to thank me again. Then voiced his disheartening opinion of the software that was just installed. I have a sneaking suspicion that the man in red, won’t be using that particular brand of software again anytime soon.

Things to ponder.

If you are using consultants, hiring software developers, or buying software; the question you should ask is who are you actually doing business with?

How much is your time worth?

Are they honest and transparent?

Do they cost more because of quality or support they provide, or because they are a brand name?

EdUI 2009 Conference Workshops Recap

Posted Thursday, September 24th, 2009 by Michael Herndon

What is the EdUI Conference?

The is a new conference held by the University of Virginia for the niche of web professionals in higher education. Do not let the tag line fool you. A good portion, if not all information, provided by on-the-front-lines professionals easily translates into other domains of business on the web. The various headlining speakers were all top notch.

I had the privilege of going to one workshop and visiting the condensed version of another. Both were wise investments of time. This website, my BHAG website (amptools.net), and O.S.C. (opensource connections) clients will be able to reap the rich benefits from EdUI in the near future.

Workshop Beyond Blah Blah: Creating Great Content for the Web.

This great workshop was created by of , a company Mr. Poteet founded. The workshop was centered around the ‘best of’. Concentrating in areas of creating/writing great content and essentially it’s architecture.

Some of the sources used to put together the workshop were the “Wizard of Ads Trilogy“, Made to Stick by Chip & Dan Heath, and a white paper called “Designing for the Scent of Information” by Jared Spool. Anyone related to or responsible for marketing in your business should/must read the Wizard of Ads trilogy if they have not already.

The notes that I took from the workshop are pretty much in the actual slides. They center around 6 tips for developing and organizing content on your site. That being said: the notes and slides are pale in comparison to actually doing the workshop with David. We actually were lead through the KJ session, writing exercises, and more during the workshop. All of these were invaluable experiences.

Beyond Blah Blah: Creating Great Content for the Web. takeaways

See the notes are at the end of this blog**

Workshop New Insights In Web Standards

, former group lead of WaSP, co-author of The Zen of CSS design, and all around free spirit, did the workshop on new insights in web standards. The focus here was definitely on HTML5. The results of even the condensed workshop was eye opening.

Unfortunately, I was only able to see the condensed 2nd day version of this workshop. I generally keep tabs on emerging software technology, HTML 5 and CSS 3 being a few of those. I even read W3C specs, which read like legal documents on a good day.

The opportunity of getting the word of mouth version from someone like Molly, saves me a few headaches and hours of reading. Plus gaining another perspective from someone never hurts.

New Insights In Web Standards Takeaways

  • HTML 5 is an application markup language.
  • HTML 5 is here (partially). Google Wave is an HTML 5 application.
  • Backwards compatibility on the web is a must. (however this should be pushed more onto the browsers supporting old documents, not developers/designers)
  • The web means open standards, HTML 5 is pushing that, with forcing browsers to provide things like video and audio codecs, animation, etc.
  • First html spec that all browser vendors are behind, which is almost scary.
  • XHTML 2.0 and its w3 group is gone at the end of this year, no more xhtml. yes. i’m serious.
  • XHTML is considered to be a failure.
  • IE still slowing down the web. (Well we’ve know this for years, but it might be wise for everyone to charge extra to clients who require IE 6 compatibility or just render plain white document style content to IE 6 users).
  • HTML 5 will come in 2 flavors SGML/HTML syntax & XML.
  • Opera has the lead on HTML 5 completion, including web forms 2.0 at the moment.
  • Javascript is the glue of the web. (fellow Javascript developers, can we say job security?)
  • Designers who work CSS and HTML, will now have to be pseudo developers with HTML 5. For Hybrids like me who can do both, that is not a big deal. However being able to do design and development is a rarity. So this will place a burden on many who see themselves as designers.

My Notes from David Poteet’s workshop**

  1. Give them what they want.
    1. “people come to your web site running”
    2. what are you audience’s key goals.
      1. decide what is important.
      2. take away choices where i do not need them.
      3. make choices clear & distinct.
    3. how do you know what they’re looking for?
      1. listen to them.
        1. interviews & focus groups.
        2. social media sites, blogs, forums.
        3. search logs.
        4. mental models.
        5. carewords survey.
        6. KJ Session.
  2. Use words that smell like goals.
    1. Readers are like bees
        • people hunt for information like bees seeking nectar or hounds on the trail of a fox.
      1. “Scent” or “Trigger” words
        1. What worlds would be in someone’s mind if they were pursuing a particular goal?
      • information Scent Theory
    2. What they don’t do
      1. read left to right, top to bottom.
      2. look at all the options and choose the best one.
      3. Instead, they SCAN and SATISFICE.
    3. Write for scent
      1. each link needs to have a strong “scent for the content that lies beyond it.”
      2. 5-7 words are optimal.
      3. Users expect each click to lead to information that is more specific.
      4. when users click on triggers words, they expect to see those words on the next page.
      5. Don’t let clever kill clear. Trigger words need to be readily understandable
      6. Users search when they can’t find the words on the page.
    4. Am I in the right place? Are your credible?, where can i go from here?
  3. Write “visually.”
    1. Do they ever read?
      1. yes, when they get to the content they’re looking for.
      2. % of the story read by format:
        1. 75% o
    2. Shorter sentences and short paragraphs
      1. in most cases not more than 50 words per paragraph
      2. one sentence paragraph is ok
      3. So are fragments.
    3. Lots of headings/sub headings.
    4. Using Images
      1. User pictures that mean something on context
      2. Use icons if meaningful.
    5. Meet users’ expectations for visual formats, for example:
      1. address
      2. game stores
    6. Use lists
    7. Use tables. collage mural
      1. data compare
      2. cross reference
      3. options
  4. Show don’t tell.
    1. give sensory details and substantive facts.
    2. let them come to their own conclusions.
    3. They’ll realize it with greater conviction.
  5. Not everyone thinks like you.
    1. Write for temperaments
      1. four temperaments
      2. Guardian(sj) idealist(nf), artisan(sp), rational(nt)
      3. Methodical, humanistic, spontaneous, competitive.
    2. Methodical
      1. details
      2. fine print
      3. how does it work
    3. spontaneous
      1. quickly
      2. superior
      3. customize your product/service
      4. narrow your choice
      5. enjoy life more?
    4. Humanistic
      1. How will the product make you feel
      2. who uses your product service
      3. who are you, let me see bios
      4. what will it feel like to work with you
      5. what experience other have with you?
      6. Can I trust you?
      7. What are you values?
      8. How will this help me strengthen relationships?
    5. Competitive
      1. What are you competitive advantages?
      2. Why are you superior choice.
  6. Say something they’ll remember (and care about)
    1. Left Brain vs Right Brain
      • logical vs intuitive
      • Sequential vs Chaotic
      • Objective vs Subjective
      • Analytical vs Holistic
      • Right or Wrong vs Likes or Dislikes.
      • Grammar & Vocabulary vs Intonation & Accentuation
      • Exact Numeric Computation vs Approximates, Estimates
      • Tempo, tone, & interval vs Music
    2. Implications
      1. Intellect and Emotion are partners who do not speak the same language. The intellect finds logic to justify what the emotions have decided. Win the hearts of the people.
      2. Keys to the emerald city
        1. storytelling
        2. the unexpected
        3. verbs
        4. poetic meter
        5. humor
        6. leave something to the imagination
      3. Storytelling
        1. we are hardwired to remember stories.
        2. Adrenaline is the biochemical adhesive that turns short term memories into long-term memories.
        3. Stores are a great way to both SHOW an idea and engage the reader mentally and emotionally, resulting in:
          1. transfer to long-term memory.
          2. Persuasion / conviction that something is true.
          3. motivation to act
        4. Who is your story about?
        5. simple
        6. unexpected
        7. concrete
        8. credible
        9. emotional
        10. stories
          1. the sooner you can put a verb in the better.
          2. put words to music.
            1. music enters through Right Brain, bypassing Broca entirely.
            2. Poetry allows us to put music to words in our minds.
        11. What do you remember?

OSC will attend and sponsor EdUI Conference 2009 in the University of Vir

Posted Sunday, August 23rd, 2009 by Eric Pugh

edUI Conf

OSC is proud to announce that we will attend and sponsor this year’s EdUI Conference 2009 which is bein held at the University of Virginia on 21st-22nd September 2009. A number of folks from the OSC team will be attending, and stop by our booth in the Vendor Hall on the second day and introduce yourself!

EdUI 2009 boasts a powerhouse lineup of renowned and popular headliner speakers, most often found at the Web industry’s premier events. In addition to these, it features a series of presentations, selected through a proposal process, to allow peers, colleagues, and geek kindreds to enlighten one another with their expertise and ideas. Our very own Arin Sime will be speaking on The Facebook API: Thinking About UI in a Social Way.

Solr 1.4 Enterprise Search Server Book is Released!

Posted Wednesday, August 19th, 2009 by Eric Pugh

Solr 1.4 Enterprise Search Server Book Cover

I am very proud to annouce the first book on Solr has been published by Packt. This has been a labor of love for myself and my co-author David Smiley, and we are excited to see the book now “in the wild!”. Below is a copy of the email sent to the Solr community:

Fellow Solr users,

I’ve finally finished the book “Solr 1.4 Enterprise Search Server” with my co-author Eric. We are proud to present the first book on Solr and hope you find it a valuable resource. You can find full details about the book and purchase it here:
http://www.packtpub.com/solr-1-4-enterprise-search-server/book
It can be pre-ordered at a discount now and should be shipping within a week or two. The book is also available through Amazon. You can feel good about the purchase knowing that 5% of each sale goes to support the Apache Software Foundation. For a free sample, there is a portion of chapter 5 covering faceting available as an article online here:
http://www.packtpub.com/article/faceting-in-solr-1.4-enterprise-search-server

By the way, we realize Solr 1.4 isn’t out [quite] yet. It is feature-frozen however, and there’s little in the forthcoming release that isn’t covered in our book. About the only notable thing that comes to mind is the contrib module on search result clustering. However Eric plans to write a free online article available from Packt Publishing on that very subject.

“Solr 1.4 Enterprise Search Server” In Detail:

If you are a developer building a high-traffic web site, you need to have a terrific search engine. Sites like Netflix.com and Zappos.com employ Solr, an open source enterprise search server, which uses and extends the Lucene search library. This is the first book in the market on Solr and it will show you how to optimize your web site for high volume web traffic with full-text search capabilities along with loads of customization options. So, let your users gain a terrific search experience

This book is a comprehensive reference guide for every feature Solr has to offer. It serves the reader right from initiation to development to deployment. It also comes with complete running examples to demonstrate its use and show how to integrate it with other languages and frameworks

This book first gives you a quick overview of Solr, and then gradually takes you from basic to advanced features that enhance your search. It starts off by discussing Solr and helping you understand how it fits into your architecture—where all databases and document/web crawlers fall short, and Solr shines. The main part of the book is a thorough exploration of nearly every feature that Solr offers. To keep this interesting and realistic, we use a large open source set of metadata about artists, releases, and tracks courtesy of the MusicBrainz.org project. Using this data as a testing ground for Solr, you will learn how to import this data in various ways from CSV to XML to database access. You will then learn how to search this data in a myriad of ways, including Solr’s rich query syntax, “boosting” match scores based on record data and other means, about searching across multiple fields with different boosts, getting facets on the results, auto-complete user queries, spell-correcting searches, highlighting queried text in search results, and so on.

After this thorough tour, we’ll demonstrate working examples of integrating a variety of technologies with Solr such as Java, JavaScript, Drupal, Ruby, XSLT, PHP, and Python.

Finally, we’ll cover various deployment considerations to include indexing strategies and performance-oriented configuration that will enable you to scale Solr to meet the needs of a high-volume site

Sincerely,

David Smiley (primary-author)
dsmiley@mitre.org
Eric Pugh (co-author)
epugh@opensourceconnections.com

A huge round of thanks goes to David for bringing me into this project and being such a great partner on it! With 5% of the proceeds going to the Apache Software Foundation, here’s hoping it’s a great success!

Matthew Sposato – Upcoming Presentations

Posted Friday, July 31st, 2009 by Matt Sposato

This fall I will present at the following events:

  • October 3rd – Richmong Code  Camp
  • October 8th – Roanoke Valley .NET User Group
  • October 15th – Charlottesville .NET User Group

Hope to see y’all there. Thank You