[lsb-discuss] unofficial LSB conference call minutes for 23 Apr 2014, post Collab 'New LSB' wiki point in time drop

R P Herrold herrold at owlriver.com
Wed Apr 23 17:00:52 UTC 2014


LSB teleconference

Wednesday, 23 Apr 2014 @11:00 to noon, US ET 

Where:	(605) 715-4920 Access Code: 512468

Gobby:	gobby -j lsb-temp.pmman.net:6522 with passwd: LSB

IRC channels are:
	#lsb-meeting at freenode.net during meetings
	#lsb at freenode.net most other times

Attendees:
in the form : name (organization)  [irc_nick]
===========================================
Jeff Licquia (LF)  licquia
Russ Herrold (Owl River)  orc_emac
Rick Troth (Velocity Software) rickt
Mats Wichmann (LSB)  mwichmann [obby only]

Regrets
=======
Robert Schweikert (SuSE)  robjo [via IRC]
Kay Tate (LSB)  ktate

Posted Agenda:
=============
 - LSB 5.0, infrastructure, and bug status.

 - Status of "new LSB" items: proposal to LF, current 
outstanding pull requests

New business:
=============

Meeting opens at 11:00 with:

Meeting starts with that fine 'Skype' tool cutting out 
mid-call for reasons unclear, as well as with some audio 
issues with the latest Ubuntu fighting with Jeff's Skype tool

Status summary and wiki link [1] send to LF upstream by Jeff 

[1] https://wiki.linuxfoundation.org/en/New_LSB

and quoted as of today at the bottom here.  Russ 'reflowed' 
the text for this email, but the content should be unaltered

Some holdback with the build slaves for move from Hercules 
based, into real iron; Russ suggests that we bite the bullet 
and make the move to get the speed enhancement

Jeff indicates he will add a ./documentation/ directory as to 
restarting BuildBot, and optionally, the LSBBOT

Database re-deployment is tested in a new real hardware 
instance, and the reinstall is tested on hardware  

We may well add pending 'git' commit reviews IRC meeting or 
call at a time / method to be determined .. possibly IRC like 
on Fridays, possibly another live conference call process

Call ends at local 11:57


Weekly Bug triage:
==================
The bug tracker is at: 
   https://lsbbugs.linuxfoundation.org/
(A former bug tracker was used, but is not longer active at:
    https://bugs.linuxfoundation.org/
for people doing research.  Please do not use it for new 
filings)

Bug triage occurs weekly: irc-only #lsb-meeting at 
freenode.net
*** FRIDAY* ** at 10:00 Eastern

Bugzilla (lsbbugs) stats as of 23 Apr 2014:
614 open, 610 open last week 
609 assigned, 1 new, 1 reopened, 1 needinfo, 2 pleasetest
New last 90 days: 61, last 30: 13; closed last 90: 39, last 
30: 6
Changed this week: 6, last week: 4
Bugs that are assigned but have no milestone: 245
Rollup bugs: 25

Bug (bugs) stats: no chance from last time

last week's bug triage minutes:
Minutes:        
http://www.linuxbase.org/irc/meetbot/lsb-meeting/2014/lsb-meeting.2014-04-18-14.00.html
Minutes (text): 
http://www.linuxbase.org/irc/meetbot/lsb-meeting/2014/lsb-meeting.2014-04-18-14.00.txt
Log:            
http://www.linuxbase.org/irc/meetbot/lsb-meeting/2014/lsb-meeting.2014-04-18-14.00.log.html

   
Buildbot:
==================================
http://www.linuxbase.org/buildbot/

Next meeting:
=============
30 Apr 2014 11:00 to noon, US ET  

gobby unofficial minutes are open for edit for at least 15 min 
after each call, and then issued into the mailing list

=======================================
This document: LSB_minutes_20140423.txt 

   New LSB

   At the [11]LSB Plenary 2014, the LSB workgroup met and 
talked about some of the problems the LSB has been having 
lately. The problem the LSB is intended to solve is still a 
problem, but it's moved a bit--as cloud, mobile, and the Web 
have taken priority over local app development, the problems 
with cross-distro development have moved along with it. 
Additionally, our rather heavy infrastructure, and the 
learning curve associated with it, have held us back, turning 
away potential contributors and making our products less 
useful to people who want to use them outside the narrow use 
cases we've been targeting.

   Those present at the 2014 Collab Summit it's time for the 
LSB to become a bit more nimble and contributor-friendly.

Contents

     * [12]1 Deficiencies in the current approach
          + [13]1.1 Tools                        
          + [14]1.2 Mindshare and Resources      
          + [15]1.3 Results                      
     * [16]2 Solutions                           
          + [17]2.1 Practical problem-solving    
          + [18]2.2 Specification vs. Distributions
          + [19]2.3 Test APIs, or the lack thereof 
          + [20]2.4 GitHub                         
          + [21]2.5 Legacy                         

Deficiencies in the current approach

   We've identified a number of deficiencies in our current 
infrastructure and workflow.

Tools

   Our current software and infrastructure have some amazing 
capabilities, but they also have a correspondingly steep 
(perhaps: amazing high)  learning curve associated with them. 
As they are purpose designed, they are fairly inflexible. 
Historically, we have used very limited commit permissions, as 
the tools needed to remain usable for certification purposes 
on short notice. Some of the problems we've identified:

     * The LSB database is useful, but difficult to change. It 
is essentially a binary blob modifiable only by a select few 
experts.  The scripts and infrastructure we've built to help 
lower that learning curve are themselves difficult to use and 
buggy.  Submissions made during the past several years are not 
always adequately robust, either. Our current efforts at 
getting GTK+ 3 in shape for LSB 5.0 serve as a great example 
of these characteristics.

     * We rely on an LF provided version control 
infrastructure, using a tool no longer actively developed 
(BZR), and with a workflow that isn't generally familiar to 
today's developers. To some degree, this is easy to partially 
address with a simple data conversion.  But part of that 
change involves moving to embrace some good features from the 
new workflow established by sites like GitHub:  easy forking 
and pull requests. We've assumed all along that developers can 
set up their own hosting for their version control changes or 
figure out how to submit changes via email; the GitHub model 
turns out to work with lower barriers to entry for this. We 
will have to provide clear pointers and/or fairly detailed 
documentation for developers outside of typical Linux 
environments who use other code control systems, due to 
differences in philosophy.

     * Historically, tests have been difficult to write or 
even contribute in the LSB system. Using TET for integration 
has resulted in a complex API and build system that's 
difficult to work with. We've made some efforts at simplifying 
this, which have largely not succeeded, as our experiment with 
the T2C ALSA test suite demonstrated. In the meantime, our bug 
tracker is full of simple one-off tests that would make 
excellent material for tests, except for the work needed to 
port and maintain these in our framework.

Mindshare and Resources

   In short: the LSB is not appealing or widely touted as a 
useful project. The value chain between Linux distributors, 
commercial and other software providers, and customers has not 
been sold across the industry. The advantage of a binary 
standard over the previous generation of API standards has not 
been exploited. This has pretty much limited our developer 
resources to the "old guard".

     * Traditional standards work isn't "sexy". This is just a 
fact of life to some degree, especially if there is no 
substantial controversy or incompatibility to be solved. The 
fact that we seem to work "in the shadows" of upstream bug 
trackers and impenetrable tests makes this problem more 
pronounced.

     * The learning curve scares off those people who do 
decide this is important work, and it prevents volunteers with 
limited time from being effective in helping to make progress.

     * Being bound into the infrastructure also makes it more 
difficult for outside groups to take advantage of what we do 
and to adapt it to their QA environments, for example.

     * The industry focus on software at a higher level up the 
'foodchain' than the OS (e.g., OpenStack contributors) results 
in more of the LF excitement and focus coming from those 
groups. With decreased focus on the Linux OS itself and LF 
decreasing expenditures on the LSB, there is less LF-funded 
effort. The balance between basic 'fixed costs' of running the 
existing setup, and yet still addressing the 'variable costs' 
of trying to produce timely updates and new releases just 
cannot be met by the resources presently alloted for the LSB 
(essentially: less than one FTE).

     * Further, re-tasking of LSB technical staff to plug gaps 
in non-LSB LF infrastructure problems has further diluted the 
effort available for LSB, sometimes for months.

Results

   We have problems actually releasing stuff according to 
agreed 'feature based' release criteria for LSB 5 (compare to: 
time-based). A new major release probably HAS to have 
compelling features, or it is a vain act, so we really could 
not pursue time-based this round. This is due to the 
combination of our heavy and difficult infrastructure and our 
lack of developer resources. There are too few of us still 
working on the next release. We spend too much time fighting 
with our current toolset. We are called away from LSB work by 
other LF needs irrespective of the LSB schedule slip this 
imposes as a hidden cost.

Solutions

   To solve these problems, we're are laying the foundations 
for a "new LSB" project, which should absorb at least the 
current LSB resources in time while starting to solve the 
above problems.

Practical problem-solving

   Future work in the LSB will focus on solving practical 
problems current Linux distributors, software providers and 
customers are having with using and writing cross-distro Linux 
software. These won't need to necessarily be focused on our 
current areas of emphasis, such as symbol coverage in glibc or 
desktop environments, although these problems won't be 
expressly excluded. Rather, we want to address problems across 
the board of Linux development and deployment: cross-distro 
cloud deployment issues, Web framework problems, 
virtualization issues, etc.

   For example, one of the early problems proposed to be 
solved by the LSB involves user identification and group 
identification harmonization between the distributions. This 
is perceived by some to be a problem for horizontal 
cloud-based deployments, as many of the common ways to share 
data across the cloud require harmonization between user 
identities. This was an issue we considered and rejected for 
traditional Linux development, as it was seen as more of a 
sysadmin / implementation problem; now, however, it affects 
the development of software that is explicitly designed to be 
distributed across multiple ephemeral systems, which is 
becoming an accepted model for new development and deployment 
on Linux today.

Specification vs. Distributions

   One thing that's been clear: the abstract 'trailing 
standard' documentation of specifications have had their use, 
but the emphasis on them is too slow and heavyweight for the 
current pace of the Linux industry. By contrast, documentation 
of distribution differences (such as what we do in the 
Application Checker) is perceived by many to have more value 
in many places where we have emphasized the spec.

   So, for the new LSB, we will not neglect our task of 
documenting the differences that exist. This will be important 
both for software developers and for us; we can't fix distro 
incompatibilities if we don't know what and where they are.

   Part of this work may be to refactor the database to focus 
more on the actual content of the distributions, which may 
point the way to making it easier to draft specifications 
automatically based on things that are commonly shared by all 
distributions.

Test APIs, or the lack thereof

   It's been observed that nearly everything about a test API 
is easily modeled in the traditional Unix API:

     * Tests return either success or some failure code, which 
map well to familiar Unix process return codes (zero of 
non-zero).

     * Logging typically is to various facilities (stdout, log 
files), and at various levels informational, warning, or error 
notice (also sometimes expressed to stderr at more severe 
levels).

   As mentioned, our bug tracker, and those of others are 
filled with test code, either written or readily adapted to 
this simple test API. This can serve as the foundation for 
building up more complete regression test suites. Presently 
though, our current toolset requires a significant 
configuration effort to make use of these tests, which is a 
lot of work and can reduce their accuracy. (This isn't just 
our problem, either; every general testing effort has this 
problem.)

   So why have more complicated test APIS? Mostly, it's about 
the helper APIs on top of this base functionality (like the 
xUnit libraries that exist in pretty much every language) and 
the test tools and frameworks that manage test result data and 
make that data useful to developers.  In addition, the 
previous explicit focus was to help distributors attain the 
goal of completing a certification assessment in a single 
action.

   Thus, the top-heavy TET-based workflow we've used up to now 
will be considered legacy. New work will focus on a very 
streamlined test API, that looks like the standard C/Unix API, 
with optional helper libraries that can mimic many of the 
features of the sophisticated test suites.  On top of this, we 
will develop frameworks that will be focused on making working 
with our tests easy: both on the test development side, and on 
the framework side. This will allow more effective selection 
of subsets of tests that are useful for more purposes than 
just a full certification, allowing integrating subsets of our 
tests with other people's workflows.

GitHub

   Instead of living in a read-only self-hosted repository 
with limited commit access, we've initially set up a new 
organization at GitHub here:

   [22]https://github.com/LinuxStandardBase

   The main project driving future development is the "lsb" 
project, which contains our current "works in progress". The 
emphasis will be on a light process, easy collaboration, and 
flexibility. Documentation and perhaps process wrappers that 
allow the “uninitiated” to participate fully will need to be 
provided so that suggestions for work efforts can be made by 
all of the members of the value chain – distributors, software 
providers and customers.

Legacy

   The current LSB work in 5.0 will be finished and released. 
It will be maintained with regular bugfix updates for the 
foreseeable future.  Linux distributors should certify to LSB 
5.0 to provide that assurance to their partners and customers, 
as likewise ISV's may deploy against its promises of behaviour 
and interfaces. Going forward, the new LSB will 'most likely 
refactor the current LSB to fit the new project structure and 
workflow.

   Much of the current LSB has value:

     * The SDK and Application Checker are seen as good 
things; indeed, they're almost seen as wizardry in some cases.

     * The current distribution tests continue to have value 
in exposing bugs in current Linux distros.

     * The database, heavy as it is, remains a valuable 
resource for documenting the differences between distros and 
potential pain points for portability.

     * The standards themselves are still referenced and 
considered authoritative.

   Future specifications from the LSB will likely look much 
different from how they look today, and the processes by which 
distributions and ISVs use the LSB will change quite a bit as 
well. At this point (April 2014 as of this writing), we don't 
know what that will look like.

# 30 #


More information about the lsb-discuss mailing list