Showing posts with label GPL. Show all posts
Showing posts with label GPL. Show all posts

2012-09-23

CP4E hero Bret Victor

9.8: news.adde/light table and bret victor:

. Bret Victor's video has a cp4e mission
and shows off the new tools he's built
that help us develope our creative ideas .

. amazing what he's done;
he has an IDE where you can click on any var,
and it turns into the widget needed to adjust it;
but then it's also
re-running your code after every change;
so, if your program generates a picture,
his scripts are custom GUI's for
painting particular classes of pictures
where you paint by both coding
and by adjusting code parameters
-- all by GUI! (as you do edits,
the page is sprouting widgets to help you).
. when you slide a for-loop var,
the program is re-running for every
value in the for-loop's change range
which is causing an animation effect
-- a new way to experiment with video .

. even more amazing,
this IDE creates a complete mapping
between the subpicture being drawn
and the line of code that drew it;
so clicking in the picture
causes the editor to highlight a line of code,
and conversely, selecting a line of code
highlights the subpictures it drew .

. now, speaking of animation,
the next thing needed for visualization
is to create trails for specific subpictures,
so that as you modify a parameter,
it immediately shows how that is affecting
the path of the trail .
. first he's pausing at the
end of the interesting time interval,
then he's using rewind to get to the
beginning of his time interval of interest;
and finally when he's adjusting parameters now,
for each new parameter change,
it's drawing a new trail specific to the
time interval of interest .

. why are there symbols in a schematic?
because it's the easiest way to pen them,
Victor notices ( and there's the icon effect
-- creating instant recall of the concept );
but now that schematics are in computers,
we should be using their dynamic expression:
so, in an electronics diagram,
we could replace the symbols with
little videos of the analog signals
that are generated at that symbol's node .

. likewise, computers can make coding so easy
that any one can do it;
indeed, it seems that the best coders
are just those who are best at
imagining a computer's working internals,
but we have the computer to do this for us,
so why don't we?!
. for example he shows another IDE,
this one being tuned for coding instead of drawing
in which the editor has 2 areas:
on one side is the code,
and on the other is a simulation of the code;
ie, the simulation has a list of all the locals
that are so far declared in your function,
-- and it does this in real time:
eg, as you write the function's header,
the simulation shows the parameters as undefined;
then you can modify the simulation
by instantiating any undefined variables
(so the assignment happens only in the simulation,
not your code), and then as you have code
assigning a complex expression to a var,
the simulation tries to eval that assignment;
and, this way you are testing as you code
-- every time you hit enter,
it's relaunching the build&run
for per-line-of-code testing (quick!).
. if you add a loop to your code,
then all the var's being affected by the loop
are placed in a matrix
with vars in the columns,
and iterations per row (or vice versa).

. he then gives us a history of people who
had a passion for using computers to
help people with making full use of their brains;
pointing out that this work is important because
people need these dynamic tools
to unleash their full human potential .
. he was especially impressed at
those who made computers child's play;
and reminded the audience's budding techies
that we can choose as our identity
to have a social conscience,
and not just a technical expertise .

pioneers of cp4e:
(computer programming 4 everybody)

# Larry "nomodes.com" Tesler:
. not just the developer of copy&paste
but the one realizing we could do better than
obstructive modal versions of copy&paste:
he recognized a wrong
that was unrecognized by the culture .

# Doug Engelbart -- enabling mankind:
. propent of realtime human-computer interaction
not just the inventor of the mouse:
he wanted to solve mankind's urgent problems with
computer-assisted knowledge workers .

# Alan Kay -- enabling children:
. everything he did for windows, menus, and oop,
was to enable children to be computer literate
to make them more enlightened adults!
. he studied those who studied how children think,
in order to help them use computers .
[. in 2006, Kay's Viewpoints Research Institute
was funded by USA's NSF for the proposal:
Steps Toward the Reinvention of Programming:
A compact and Practical Model of
Personal Computing as a Self-exploratorium [pdf]
(see comments of it:
. they critiqued him for bucking the trend of
taking advantage of cheaper hardware
by filling it with more features and bling;
but ironically, that attitude
still hadn't been able to provide all children
with a computer that would help them learn
-- children's computers need to be
as cheap as calculators;
but instead we insist on continuing to
code above the child's price point .]

# Richard Stallman -- freedomware:
. the king of fighting to change culture
for the good of mankind .

9.8: web: i-programmer.info`
Alex Armstrong 10 March 2012`

A Better Way To Program
This video will change the way
you think about programming.
The argument is clear and impressive
- it suggest that we really are building programs with
one hand tied behind our backs.
After you have watched the video
you will want the tools [that he has] demonstrated.

We often focus on programming languages
and think that we need a
better language to program better.
Bret Victor gave a talk that demonstrated
that this is probably only a
tiny part of the problem.
The key is probably interactivity.
Don't wait for a compile to complete
to see what effect your code has on things
- if you can see it in real time
then programming becomes much easier.
Currently we are programming with
one arm tied behind our backs
because the tools that we use
separate us from what we write and what happens.
Interactivity makes code understandable.
Moving on, the next idea is that
instead of reading code and understanding it,
seeing what the code does is understanding it.
Programmers can only understand their code by
pretending to be computers and running it in their heads.
As this video shows, this is incredibly inefficient
and, as we generally have a computer in front of us,
why not use it to help us understand the code?
...
if you watch just one video this year
make it this one.
Update:
See Light Table - a Realization of a New Way to Code
[ an implementation of Victor's idea .]
[ it was funded by a kickstarter page .]
You can now try Light Table
via the Light Table Playground!

9.8: web: Bret Victor
. Bret Victor's inspiring resume
and his many cool writings .
. Bret Victor`Inventing on Principle [vid]
from CUSEC 2012 (Canadian University
Software Engineering Conference)
-- a three-day event that brings together
undergraduate and post-graduate students
for learning, networking,
and sharing their passion for software.
9.8: web: chris-granger.com`
Light Table --a new IDE concept
Despite the dramatic shift toward
simplification in software interfaces,
the world of development tools
continues to shrink our workspace
with feature after feature
in every release.
Even with all of these things at our disposal,
we're stuck in a world of files
and forced organization
- why are we still looking all over the place
for the things we need when we're coding?
Why is everything just static text?

Bret Victor hinted at the idea that
we can do much better than we are now
- we can provide instant feedback,
we can show you how your changes affect a system.
And I discovered he was right.
...
 all of this culminates in the ability to see
 how values flow through our entire codebase.
 Here I find a bug where I wasn't passing x correctly.
 I type (greetings ["chris"])
 and immediately see all the values filled in
 not just for the current function
 but all the functions that it uses as well.

Light Table is based on a very simple idea:
we need a real work surface to code on,
not just an editor and a project explorer.
We need to be able to
move things around, keep clutter down,
and bring information to the foreground
in the places we need it most.

Light table is based on
a few guiding principles:

You should never have to look for documentation
Files are not the best representation of code,
just a convenient serialization.
Editors can be anywhere
and show you anything - not just text.
Trying is encouraged
- changes produce instantaneous results
We can shine some light on related bits of code

Docs everywhere
When you're looking at new code
it's extremely valuable to be able to
quickly see documentation left behind by the author.
Normally to do so you'd have to
navigate to the definition of the function,
but lightable ghosts this information in to the side.
Want to know what partial does?
Just put your cursor on top of it.
This makes sure you never have to worry about
forgetting things like argument order ever again.

. we should be able to search all our documentation
in place to quickly see what it is.
Don't remember what was in the noir.core namespace?
It's one ctrl-f away.

This is especially handy for finding
functions you may not even know exist
and seeing their docs right there.
No need to look at some other generated documentation.

Instant feedback
.  to try things out, we can do better
than lispers' REPL - we can do it
in place and instantaneously.
For example we can type in (3 + 4)
and immediately we are shown the result
- no ctrl-enter or anything else.

Light Table takes this idea as far as it can
and doesn't just show you variables to the side,
but actually shows you how the code is filled in.
This lets you see how values flow through
arbitrarily complex groups of functions.

This level of real-time evaluation and visualization
basically creates a real-time debugger,
allowing you to quickly try various inputs
and watch it flow through your code.
There's no faster way to catch bugs
than to watch your program work.

We built drafting tables for a reason
. desktop windows aren't a good abstraction
for what we do as software engineers .
Other engineers have large tables
where they can scatter around
drawings, tools, and other information .
A drafting table is a better abstraction:
We shouldn't need to limit ourselves
to a world where the smallest moveable unit
is a file - our code has much more
complex interactions that we can better see
when we can organize things conceptually.
. We saw an example of this with Code Bubbles,
but why can't we embed a running game ?
Then we can interrogate it,
and have our environment answer them for us.
[9.8:
. an image in the article at this point
shows a desktop where a folder full of files
is represented by a box
whose title is named after the folder
with file names inside the box .
. the right side has boxes of code;
so, for each function you inspect,
it also shows you called function`bodies .)
--
. this reminds of composite editing,
where the editor holds the entire desktop;
so, it serves as desktop layouts that can be
suspended and resumed as if a vmware .
. desktops and their windows
can be edited the same as
when an editor embeds images in text .
. the first compound docs I saw
were ms`office embedded objects:
you could mix & match Word's text columns,
Excel's spreadsheet windows, and various images .
. browsers have this feature (the embed tag);
but browsers are short on editing abilities,
and editors need to be integrated with the OS;
such that I can open a file,
and it unleashes a desktop of windows
all arranged in the way they were before .
. also, the layout editor needs to
control the border style of its windows;
eg, embedded graphics in text
should often have no border at all .
. a 1st class composite document
has everything we like about vmware,
but instead of windowing OS's
our compositing app is windowing apps .]
Code with a little illumination
There's no reason our tools can't
help us understand how things are organized .
In light mode, Light Table lets you
see what functions are called by
the one you're currently working on,
not just by highlighting ones in your code,
but by also showing you their code to the side.
We shouldn't have to constantly
navigate back and forth to see this .

Finally, all of this culminates
in the ability to see not just how
things I type into a scratch editor evaluate,
but how values flow through our entire codebase.
Here I find a bug where I wasn't passing x correctly.
I type (greetings ["chris"]) and immediately see
all the values filled in
not just for the current function
but all the functions that it uses as well.

What languages will it support?
. The first two are Javascript and Clojure,
.... we hit $300k! Python will be the
third language supported out of the gate.
. additionally,
new languages can happen through plugins.

Will it be open source?
. a firm believer in open source software
and open source technologies.
we can guarantee you that Light Table will be
built on top of the technologies that are
freely available to us today.
As such, we believe it only fair that
the core of Light Table
be open sourced once it is launched.
At some level, this is an experiment in
how open source and business can mix
- it will be educational for us all.

What's a license then?
. In order to download packaged distributions,
you'll need a license. Preliminarily,
we're thinking, for individuals,
licenses will be based on a model of:
"pay as much as you can of
what you believe it is worth".
. This gives everyone access to the tools
to help shape our future,
but also helps us stick around to
continue making the platform awesome.
We think what we build will be worth at least $50,
and so that's what we've used for our rewards.

Is it a standalone app?
. there's an instance of webkit as the UI layer
-- completely an implementation detail.
It will run locally on virtually any platform
and out of the gate will support
the big three (linux/mac/windows).

Can I script/extend it?
. It will be scriptable in Javascript
(and many other languages can be
translated into Javascript).
Ultimately the goal of the platform
is to be a highly extensible work surface
- even the initial core languages
will be written as plugins.
This allows us to build development interfaces
we haven't even imagined yet.

What about key bindings?
. by using the awesome CodeMirror editor,
this is something that is easily adapted.
If you're looking for a way to contribute,
help improve CodeMirror
and its emacs/vim plugins!
--[
CodeMirror is a JavaScript component
that provides a code editor in the browser.
When a mode is available for your language
[c, python, go, js, ...]
it will color your code,
and optionally help with indentation.
. rich programming API and a CSS theming
for customizing CodeMirror
and extending it with new functionality.
. it's used by Mergely which is a
powerful online diff and merge editor
(Browser-based differencing tool)
that highlights changes in text.
It can be embedded within your own Web application
to compare files, text, C, C++, Java,
HTML, XML, CSS, and javascript.]

How can I help in the meantime?
. The better CodeMirror is,
the better all internet editors can be!
Past that, help us spread the word.
The more money we get
the more people I can involve in the project,
the more languages we can support,
and the more powerful the entire platform.
There's tremendous potential
-- we haven't even scratched the surface yet!

About the Developer:
. helped design the future of Visual Studio,
and released numerous open source
libraries and frameworks.
. for Microsoft was the Program Manager for
the C# and VB IDE
-- countless hours behind a one way mirror
learning how people develop things.
Since then steeped in the world of
startups and OSS.
. worked with the guys at ReadyForZero
to build readyforzero.com,
created the Noir web framework,
built the SQL abstraction layer Korma,
and released a host of ClojureScript libraries
to make client side development a breeze
- many of which are now featured in
the canonical books for Clojure.
Even more recently,
built Bret Victor's live game editor
after watching his inspiring
"Inventing on Principle" presentation .
Light Table at news.ycombinator.com:
One thing Light Table could pick up / learn
is the ability to scale as function set grows,
to gain a kind of fractal navigability.
--[. I think he's refering to the call tree idea
aside from the view's detail modes
(nodes-view vs thumbnails vs fullview)]
stcredzero/"I told you so!"
Smalltalkers have been doing [LightTable]
--[the right thing]-- since the 80's
(If only we could have communicated
about this as well as Mr. Granger).
The first and the last points [under Also:]
were satisfied by lightning-fast searches of
"senders" and "implementers" .
1980's smalltalk:
- Smallest unit of code is the function.
- Able to get instant feedback on code changes.
- Multiple editors with just one function in it.
Show code in an "area of concern" not just in a file.
- The coding environment can show also
results, app windows, graphics, other tools.
- Can save the configuration of the above.
Also:
- You should never have to look for documentation
- Files are not the best representation of code,
 just a convenient serialization.
- Editors can be anywhere
and show you anything - not just text.
- changes produce instaneous results
- We can shine some light on related bits of code .
shykes:
. Dan Ingalls, the father of Smalltalk,
has picked up the baton again,
this time using Javascript.
Check out the MIT-licensed Lively Kernel
-- a new approach to Web programming
. the live demo at JSConf was jaw-dropping;
completely in line with the Smalltalk legacy .
It provides a complete platform for Web applications,
including dynamic graphics, network access,
and development tools.
Field (programming environment)
. embraces most (if not all)
of Light Table's principles.
--
As always, the multi-media programming environments
are miles ahead and nobody knows about them.
Field[by The OpenEnded Group] is amazing.
{Max/MSP, Pd, ...} are a different paradigm altogether,
but have had live editing, documentation a click away, etc
and have been in heavy use for 20+ years.

list of multi-media programming environments?
. the big names are Max/MSP, Pure Data,
vvvv, QuartzComposer, SuperCollider,
ChucK, Processing, openFrameworks,
Cinder, and Field[The OpenEnded Group].
But there are many more smaller projects
such as Lubyk, Overtone, LuaAV,
Faust, Plask, Impromptu and Fluxus.
I also want to plug NoFlo, which is a
'flow-based programming' library for node.js,
which integrates with a visual editor.
the design of design book

gfodor, vdm, nickik:
recommend some reading materials?
Victor's writings
The Design of Design (see part 4)
simplicity’s virtues over easiness’
Alan Kay`Programming and Scaling [vid]
Viewpoints Research Institute
Mindstorms: Children, Computers, And Powerful Ideas
PLATO Learning System [vid]
Mindstorms: Children, Computers, And Powerful Ideas book udacity -- cheap edu
coursera -- cheap edu
khanacadamy -- free videos

2012-09-21

Microsoft's Open Specification Promise

12.7.17: news.adds/openware/
Microsoft's Open Specification Promise

Microsoft Open Specification Promise (or OSP),
is a promise by Microsoft, published in September 2006,
to not assert legal rights over certain Microsoft patents
on implementations of an included list of technologies.[1]

The OSP licensing covers any use and any implementations
of an appended list of covered specifications.
It is limited for implementations to the extent that
they conform to those specifications.
This allows for conformance to be partial
and does not require the conformance to be perfect.[2]

Compatibility with open source licensing
The OSP is effectively a patent sublicense to everyone
limited to use with certain formats and required technology
to implement OSP licensed formats.

Open source licenses, in general, deal with
licensing of copyrights of contributors to the software.
GPLv2 is an example of such copyright licensing.
GPLv2 does not grant you 3rd party (patent) rights.

The open source software (OSS) licensing deals with
copyrights on the source code created by the contributors.
Source code based on an OSP licenced format specification
has its own copyrights and is therefore
sublicensable by the contributors themselves.
The OSP is only about patent rights.
It grants additional rights to implementers and users
to the OSS licensing.

Because Microsoft through the OSP grants patent rights to anybody that
implements or uses technology required for OOXML
there is no need for sublicensing of patent rights through the GPL.
OSS users and implementers get the same rights automatically.

An OSS implementer that uses GPL software which
implements an OSP licensed format,
is granted certain copyrights on the software
through his GPL license,
which are granted by the prior software contributors;
and, is allowed to use Microsoft patents
for required format related technology through the OSP license.

Scope limitation
The Software Freedom Law Center, which provides services to
protect and advance free software and open source software,
has warned of problems with the Open Specification Promise
for use in free software / open source software projects.
In a published analysis of the promise it states that[7]
    "...it permits implementation under free software licenses
    so long as the resulting code isn't used freely."[8]
On March 12, 2008 the Software Freedom Law Center warned
over a possible inconsistency with GPL[8]
and in specific the limited scope of the OSP.
This applies specifically to the patent promise scope
being limited to conforming implementations of
covered specifications only.

Effectively when an implementer owns a patent
and builds that patent technology in GPL3 licensed code,
the implementer grants those first party rights patent rights
downline to all re-users of that code.[9]
If you use third party OSP protected patents in GPL3 code,
you cannot sublicense those,
and the OSP scope is limited to required (normative) parts
of the covered specification.
This means that when the code is reused,
the OSP only applies as long as the reuse of that code is
limited to implementing the covered specifications.
If the OSP was not limited in that way,
you could implement all patented technology
in a GPL3 code implementation
after which the code patented technology could be reused freely
for all other possible implementations.
The limitations of a one-sided patent promise
only applying to covered specifications
is also present in the IBM
Interoperability Specifications Pledge (ISP)
and Sun Microsystems' OpenDocument Patent Statement

This means, for example, that use of the
required Sun patented StarOffice-related technology for OpenDocument
should be protected by the Sun Covenant,
but reuse of the code with the patented technology
for non-OpenDocument implementations
is no longer protected by the related Sun covenant.

The OSP similarly can be used to freely implement
any of the covered specifications in OSS
but its scope is limited to the covered specifications
and cannot be used to transfer Microsoft patent rights
to other implementations of non covered specifications
for instance by using the technology in code that has a
patent transferring software license.

For this reason the SFLC has stated:
    "The OSP cannot be relied upon by GPL developers
for their implementations
not because its provisions conflict with GPL,
but because it does not provide the freedom
that the GPL requires."[8]

The SFLC specifically point out:
    new versions of listed specifications
    could be issued at any time by Microsoft,
    and be excluded from the OSP.
    any code resulting from an implementation of
    one of the covered specifications
    could not safely be used outside the very limited field of
    use defined by Microsoft in the OSP.[8]

The Microsoft OSP itself mentions the GPL in two of its FAQs.
In one it says,
    "we can’t give anyone a legal opinion about
    how our language relates to the GPL or other OSS licenses"
In another, it specifically only mentions
the "developers, distributors, and users of Covered Implementations",
so excluding downstream developers, distributors, and users of
code later derived from these "Covered Implementations"[8]
and it specifically does not mention
which version of the GPL is addressed,
leading some commentators to conclude
that the current GPL 3 may be excluded.[10]

    Q: I am a developer/distributor/user of
    software that is licensed under the GPL,
    does the Open Specification Promise apply to me?
    A: Absolutely, yes.

The OSP applies to developers, distributors, and users of
Covered Implementations without regard to the development model
that created such implementations,
or the type of copyright licenses under which they are distributed,
or the business model of distributors/implementers.
The OSP provides the assurance that Microsoft will not assert
its Necessary Claims against any entities who
make, use, sell, offer for sale, import, or distribute
any Covered Implementation under any type of
development or distribution model, including the GPL.
microsoft and freedomware arguments:
GrayKnowlton 2008`
A disappointing surprise from the SFLC

They say "The OSP cannot be relied upon by GPL developers
not because its provisions conflict with the GPL
but because it does not provide the freedom
that the GPL requires."
They go on to identify that "freedom" being linked to
the OSP being unsafe is because new versions of the specifications
could be excluded from the OSP in the future.

It is unusual for promises like the OSP to
automatically include every spec or all future versions
(IBM's pledge is exactly like ours).
The norm is for new versions to be added to them to be covered.
In the case of Sun's statement
new versions are automatically added only when they
participate in the development of the new version
to the extent that the OASIS IPR rules
would then obligate them to provide patent rights
under the OASIS IPR Policy.
None of these promises include future versions of the specifications
without any qualification.

Let's deal with the points one by one:
Irrevocable only for now
This section points out that the OSP only applies to
listed versions of covered specifications.
True, except that we have already committed to
extending it to ISO/IEC DIS 29500
when it is approved in our filing with ISO/IEC.
For ODF, IBM in their ISP takes the identical approach.
Strange how things that seem appropriate for ODF
are not appropriate for Open XML.

OSP covers specifications not code
Not true. The OSP is a promise to not assert
patents that are necessarily infringed by
implementations of covered specifications.
Like all similar patent non-asserts
(including the Sun and IBM versions for ODF)
the promise covers that part of a product that
implements that specification
(and not other parts that have nothing to do with the specification).
While the Sun covenant is silent about
conformance to the specification,
the OSP allows implementers the freedom to implement
any (or all) parts of a covered specification
and to the extent they do implement those portions
(also known as conform to those parts)
they are covered by the promise for those parts.
Contrast that to the IBM pledge that requires total conformance
and so programming errors or absence of
something required by the spec
(but not by an implementer's product)
means that the promise is totally void for that product.

No consistency with the GPL
Not true. As far as we are concerned
we are happy to extend the OSP to implementers who
distribute their code under any copyright license including the GPL.
The FAQ cited just states what everyone knows and acknowledges,
the GPL is a copyright license that is drafted in a way that
leaves many issues (not just those related to patent rights)
open to many interpretations.
Any particular user or implementer
should read the GPL carefully and make their own judgment about
what it means and requires
in accordance with their own circumstances.
The FAQ states that Microsoft is not in a position
to give blanket advice about the GPL to others.

They missed these two FAQs for some reason...

"Q: Is the Open Specification Promise intended to apply to
open source developers and users of open source developed software?
A: Yes. The OSP applies directly to all persons or entities that
make, use, sell, offer for sale, imports and/or
distributes an implementation of a Covered Specification.
It is intended to enable open source implementations,
and in fact several parties in the open source community
have specifically stated that the OSP meets their needs.
Moreover there are already a significant number of
implementations of Covered Specifications
that have been created and/or distributed
under a variety of open source licenses
as well as under proprietary software development models.
Because open source software licenses can vary
you may want to consult with your legal counsel
to understand your particular legal environment.
Q: Is this Promise consistent with open source licensing,
namely the GPL? And can anyone implement the specification(s)
without any concerns about Microsoft patents?
A: The Open Specification Promise
is a simple and clear way to assure that
the broadest audience of developers and customers
working with commercial or open source software
can implement the covered specification(s).
We leave it to those implementing these technologies
to understand the legal environments in which they operate.
This includes people operating in a GPL environment.
Because the General Public License (GPL)
is not universally interpreted the same way by everyone,
we can't give anyone a legal opinion about
how our language relates to the GPL or other OSS licenses,
but based on feedback from the open source community
we believe that a broad audience of developers
can implement the specification(s)."
Bruce Perens 13 Mar 2008 1:58 PM FUD
The fallacy in your analysis is that
SFLC would not like IBM or Sun's patent covenants either.
They oppose software patenting in general,
Moglen has been very clear about that.
The reason that GPL developers find it
legally possible to work with Sun and IBM
is that both companies have contributed directly to the
development of GPL and LGPL code
implementing the same standards
that their covenants cover.
Thus, they are not only bound by their covenants,
but by the GPL language regarding patents,
which unlike the covenants
do adequately protect GPL developers.
While there are differing opinions about the GPL,
it is the same for any license.
If lawyers never disagreed,
there would be no reason for courts.
GPL3, and the two other licenses using its text,
LGPL3 and the Affero GPL3,
became perhaps the most legally scrutinized
licenses in the world during their development.
Most of the major corporations in software
had their lawyers on the GPL3 committees,
as did many organizations like W3C,
and many other interested parties.
Because of the very large and diverse legal team
that participated in its development,
we can put forward the GPL3 family of licenses
as more legally "solid" than, for example,
Microsoft's own licenses.
But GPL2 has done quite well in this regard too
- although we hear of many cases being settled
in favor of the GPL developer by SFLC and others,
no defendant has dared to go to court.
We also have Microsoft's past actions to consider
when we look at its present promises.
Nobody can argue that the company has behaved in a
hostile manner toward Free Software developers,
for example spreading patent FUD about our software
and yet over a period of years refusing to
disclose the particular patents and the code
that Microsoft feels they cover.
The ballot-box stuffing that occurred in ISO
is another example of current reprehensible behavior.
So, of course SFLC should interpret Microsoft's promises
in the worse possible light.
   Bruce Perens
Bruce Perens 13 Mar 2008 3:32 PM
Gray Knowlton wrote:
"Bruce, if you could please post a link on my blog
to action that Microsoft has taken
against people who have developed solutions using Open XML,
my readers would appreciate it.'
"
[. the problem with that is land mining:
you haven't stepped on us ... yet .
]
This is a common rhetorical device.
You propose your own straw-man,
and ask me to knock it down.

Gray Knowlton further wrote:
"If SFLC would be opposed to IBM's
approach to ODF protection,
then their report on ODF would have indicated so.
There is no mention of the IBM promise.
"
I have read the SFLC opinion letter. It is very clear
that their opinion relies on the
Royalty-Free rules of the OASIS ODF standard committee
and Sun and IBM's commitments to comply with those rules
as contributing members of that committee,
not just upon the covenants.
Microsoft did not choose to submit OOXML to a
standards organization that asserts that sort of rule.

But we should not pretend that this is just a legal question.
OOXML is so large that a programmer can not be expected
to learn it in his useful lifetime.
Fully 10 times the size of ODF,
to represent the same documents.
That's just one more reason (and there are others as well)
that Microsoft's sincerity is in question
- the proposed standards document doesn't appear to be
meant to enable competing implementations.
Bruce Perens 13 Mar 2008 3:50 PM
Gray Knowlton wrote:
"IBM in their ISP takes the identical approach."
Actually, that isn't the case.
Only the Microsoft covenant has that.
IBM's covenant does not have any language
excluding later versions.
Sun's covenant explicitly grants rights to later versions.
Jesper Lund Stocholm 14 Mar 2008 5:16 AM
Bruce,
> IBM's covenant does not have any language excluding
> later versions. Only the Microsoft covenant has that.
If you look at the IBM patent pledge guidance
you will find the text:
"How will IBM address additional specifications
or new versions of specifications on the list?
IBM will evaluate new versions or
additional specifications
for inclusion based on their consistency with the
objectives of this pledge
which is to support widespread adoption of
open specifications
that enable software interoperability for our customers,
and may, from time to time, make additional pledges."
This is basically a word-by-word replica
of the intent of the text in Microsoft's OSP.
> Sun's covenant explicitly grants rights to later versions.No it doesn't.
If you insist on nit-picking the wording
you must include the part of Sun's CNS where it says:
... "or of any subsequent version thereof
("OpenDocument Implementation")
in which development Sun participates
to the point of incurring an obligation,
as defined by the rules of OASIS,
to grant (or commit to grant) patent licenses
or make equivalent non-assertion covenants."
Notice the part
"in which development Sun participates".
GrayKnowlton 13 Mar 2008 3:50 PM
The "Nobody can implement Open XML" argument
ends here: silverlight-viewer-for-open-xml
and here: openxmlcommunity.org .
The "Sincerity" discussion ends here:
motivation-and-commitment-to-open-file-formats .
orlando 13 Mar 2008 4:06 PM
ooxmlisdefectivebydesign/
bad-surprise-in-microsoft-office-binary
Bruce Perens 13 Mar 2008 4:15 PM
Gray Knowlton writes:
"Not only do we disagree with the words,
Open XML already has many, many implmenetations
(which include IBM, Google, Novell, Apple and others)
to show for it.
"
It is deceptive to imply that those companies
rely on the OSP.
They have patent cross-licenses with Microsoft.
So much for sincerity.
Bruce Perens 13 Mar 2008 4:58 PM
Gray Knowlton writes:
"as far as I know,
we have no interop agreement with Google.
I could be wrong, but I've never seen one.
"
You are not seriously proposing that Google
is at any risk of patent aggression from Microsoft.
Agreements under NDA may exist, and even if they don't,
Google has a sufficient arsenal of legal talent, capital,
and blocking patents on Microsoft's own activities
that they can enforce a detente, or worse, upon Microsoft.
Your statement, again, was:
"The article says that
  "Microsoft does not provide protection for
  Open XML with the OSP."
Not only do we disagree with the words,
Open XML already has many, many implmenetations
(which include IBM, Google, Novell, Apple and others)
to show for it.
"
It is deceptive to imply that any of those folks
- especially Google - have to rely on the OSP.
GrayKnowlton 13 Mar 2008 8:12 PM
Again, if you're implying that
Google or any other company (big or small)
has to enter into some special agreement
to implement Open XML,
that is inaccurate.
Google had an implmentation of VML in its Maps product
long before the Open XML discussion started anyway.
Read: apis/maps/documentation/overlays .
Fiery Spirited 14 Mar 2008 4:13 AM
>Well, Bruce, I don't think we have a "big rich
>companies" section of the OSP, I think it applies
>equally to big and small companies.
I do totally agree.
The OSP give equal non-existent protection
to small and large companies.
Like already told
the large companies have protection from other sources
so it is a minor problem for them.
You say that Microsoft will extend the OSP
to the updated dis29500
...fairly given, isn't it? Problem is just that
Microsoft have not committed to actually
implement dis29500
or the future versions of that standard
so the OSP covering dis29500 is pointless.
What is needed is:
* Microsoft must promise to implement
the _full_ dis29500,
including upcoming versions, if they should be trusted.
* Microsoft must extend the patent promise
to exclude the right to sell the patents to patent trolls.
As written only Microsoft itself is bound to
not use the patents,
and that is obviously not enough.
* Microsoft must craft a OSP so that
the protection apply to the GPL and open source developers
even if these are used for commercial purposes.
* Microsoft must publish all patents they have
that concern dis29500.
This includes the many patents that
Microsoft have requested
after OOXML approval process begun.
* Microsoft/Ecma should remove the
nonsense requirement that
syntactic compability is enough to claim conformance.
The past behavior of Microsoft
is not the reason people don't
trust Microsoft about OOXML
...it is the current behavior that is the problem.
Reject dis29500 is the only sane conclusion....
Unless Microsoft take the above actions
the following results are very likely:
* The ISO label will be used by Microsoft
to fool people into using Office
since it "supports" an ISO standard
* Office 2007 will never faithfully implement dis29500
so all files produced
will lack interoperability with producers that
don't rely on the Microsoft DLL files.
* Microsoft will sell the patents to patent trolls
to attack competitors.
* Microsoft will use all application-defined points
and undefined points in the standard
to break real compability.
GrayKnowlton 13 Mar 2008 4:27 PM
Stepping back for a minute,
do you see how hard Microsoft is defending
the IPR policy for Open XML?
Could you understand why?
-- it's not because we want to meet the goals of the process
(the ISO process would not have begun without
passing ISO IPR guidelines,
that was addressed a long time ago),
it's because we are keenly interested in
the adoption of Open XML.
Does it make sense for us to propose a standard
then prevent people from implementing it?
-- I don't think so.
Anonymous Coward 13 Mar 2008 6:17 PM
"Does it make sense for us to propose a standard
then prevent people from implementing it? -- I don't think so.
"
In a world where governments and others
are starting to demand standardized document formats,
does it make sense for someone with
near-monopoly situation
to propose a standard then
prevent competitors from implementing it,
maintaining status quo with the cash cow?
Oh, wait..
GrayKnowlton 13 Mar 2008 8:12 PM
. in a world where accountability and compliance
are mandates,
there is little room for games and slight-of-hand.
I'd give the government ageinces a little more credit.
Ray B. 13 Mar 2008 9:47 PM Gray Knowlton said:
"It's not "Trust me." Regarding the ISO process,
ISO is the organization declaring that Open XML
passed their bar for IP requirements.
"
I don't see Open XML passing the bar,
I see it as Microsoft attempting to buy the bar(ECMA),
because if Open XML fails fast track,
Microsoft risks there cash cow to
growing government ISO document requirements.
They can't risk ODF ISO/IEC 26300(approved 2 Years ago)
get any more support!
You keep asking for examples of Microsoft
taking action against somebody's
Open XML implementation,
I say its far to Early,
they are still working on the "Embrace".
Microsoft won't "Exterminate"
until Open XML is an "approved" standard !
This is business as usual for Microsoft,
"Embrace, extend, and exterminate"
Embrace XML on there terms
(Open XML not ODF ISO/IEC 26300 )
Keep adding "custom" Extensions
(With the all powerful "IP")
Exterminate any body who uses there precious "IP"
it won't be tomorrow, or next week ...
Looking at Microsoft's history, and current actions.
They don't look like a company committed to
interoperability/coexistence!
GrayKnowlton 13 Mar 2008 10:03 PM
XML support in Office arrived 8 years ago
(which means code was written 10 years ago).
And while you're out looking for for the
Open XML actions we're taking,
you should dig up the history of
binary format specification licensing
we weren't doing since 2003,
and dig up that long list of actions we've taken
in addressing the thousands of applications
that read and write the binary formats.

freedomware

7.18: web,news.adds/openware/
osi's open source definition:

. Stallman likes to call GPL'd wares, free sofware,
but the natural contraction of that is freeware,
and that is notoriously not GPL;
it's usually just a chance to get malware .
. I think we should call GPL'd wares
evolverware, or freedomware .
. in any case, you can't call it openware;
because,
"( the obvious meaning for
the expression “open source software”
—and the one most people seem to think it means —
is “You can look at the source code.”
That criterion is much weaker than the free software definition,
much weaker also than the
official definition of open source.
It includes many programs that are
neither [freedom-supporting] nor open source.).
I think it's important that we point out
that it's important to promote freedomware,
and to distinguish it from openware;
but we need to promote the use of vmware too,
so that we can use both freedomware
and malwares like drm-protected music .
. the most important freedomwares
are not only the os and compiler,
but also the hypervisor .
. if gnu ever gets around to an os,
it should be something like Qubes
only perhaps with the smaller okL4
instead of xen, if that is possible .

osi's open source definition:
. it's a lot like the gpl; so,
what's the diff?

Stallman`Why Open Source
misses the point of Free Software

...
The official definition of “open source software”
(which is published by the Open Source Initiative)
was derived indirectly from our criteria
for [freedomware] . It is not the same;
it is a little looser in some respects,
so the open source people have accepted a few licenses
that we consider unacceptably restrictive.
Also, they judge solely by the license of the source code,
whereas our criterion also considers
whether a device will let you
run your modified version of the program.
. their definition mostly agrees with our definition;
Nonetheless, there are situations where
these fundamentally different views
lead to very different actions.

The idea of open source is that
allowing users to change and redistribute the software
will make it more powerful and reliable.
But this is not guaranteed.
Developers of proprietary software
are not necessarily incompetent.
Sometimes they produce a program that
is powerful and reliable,
even though it does not respect the users' freedom.
[freedomware] activists and open source enthusiasts
will react very differently to that.
A pure open source enthusiast,
one that is not at all influenced by
the ideals of free software,
will say, “I am surprised you were able to
make the program work so well without
using our development model, but you did.
How can I get a copy?”
This attitude will reward schemes that
take away our freedom, leading to its loss.
 For the [freedomware] movement,
nonfree software is a social problem,
and the solution is to
stop using it, and move to free software.

Under pressure from the movie and record companies,
software for individuals to use
is increasingly designed specifically to restrict them.
This malicious feature is known as
Digital Restrictions Management (DRM)
(see DefectiveByDesign.org)
and is the antithesis [of freedomware] ...
And not just in spirit:
since the goal of DRM is to trample your freedom,
DRM developers try to make it hard, impossible, or even illegal
for you to change the software that implements the DRM.

Yet some open source supporters have proposed
“open source DRM” software.
Their idea is that, by publishing the source code
and by allowing others to change it,
they will produce more reliable software
for restricting users like you.
The software would then be delivered to you
in devices that do not allow you to change it.

This software might be open source
and use the open source development model,
but it won't be [freedomware] since it won't respect
the freedom of the users that actually run it.
If the open source development model
succeeds in making this software
more powerful and reliable for restricting you,
that will make it even worse.

. software can be said to serve its users
only if it respects their freedom.
What if the software is designed to put chains on its users?
Then powerfulness means the chains are more constricting,
and reliability that they are harder to remove.
Malicious features, such as spying on the users,
restricting the users, back doors, and imposed upgrades
are common in proprietary software,
and some open source supporters
want to implement this same malware
in open source programs.

Nearly all GNU/Linux distributions
add proprietary packages to the basic free system,
and they invite users to consider this
an advantage rather than a flaw.
the philosopher of the Free Software movement:
“Open source is a development methodology;
free software is a social movement,”
Stallman says in his book
Free Software Free Society:
Selected Essays of Richard M. Stallman.
“We are not against the open source movement,
but we (Free Software movement members)
don’t want to be lumped in with them.”
Open source-ers like Bruce Perens,
the author of the movement’s official definition,
believe that free and proprietary software can co-exist.
Perens, the author of the Open Source Definition,
called Stallman a great philosopher
but called his ideas “utopian”
and attributed them to Stallman’s
lack of success in the business world.
[7.19:
. actually, Stallman's ideas can be attributed to
Traditional Retail's lack of success:
. he had a printer and found a bug in its driver,
but the company didn't want to fix it because
bugs are what get you to buy the next model .
]
Richard Stallman earned a BA in physics
from Harvard University in 1974.
. accolades for his contributions include:
1990 ACM's Grace Hopper award
(extensible editor EMACS (Editing Macros))
1998 Electronic Frontier Foundation's Pioneer Award
(his 1984 GNU Project became significantly usable
when combined with the Linux kernel ); [7.19:
1999 Yuri Rubinsky Memorial Award.
(development of the Internet infrastructure;
he warned about software patents on basic ideas);
2001 Takeda Techno-Entrepreneurial Achievements
for Social/Economic Well-Being Award
(origination and advancement of
open development models for system software
- open architecture, free software
and open source software.)
... not to mention numerous honorary
doctorates and professorships
.]

Perens, author of the Open Source Definition:
is author of the Open Source Definition
and co-founder of the Open Source Initiative.
. he's been a computer graphics expert,
with 12 years at Pixar Animation Studios.
. Perens sees 3 software Paradigms:
# Traditional Retail
# Contract / In-House Development,
# open source. [7.19:
. the Traditional Retail Model is appropriate when
the software is automating professional services;
eg, tax filing software is acting as legal consultant,
rather than a computer resource manager .
. the software itself is rather trivial;
what you are paying for is expertise .][7.18:
. this software could still be freedomware
while the business rules were kept closed
in a pay-to-use database; ][7.19:
in fact, this software is all freedomware now;
it uses your firefox or chrome browser
to interact with an online service .]
. The Contract / In-House Development Model
gets its money from using software
rather than selling it;
and, using secret software
gives them a competitive advantage . [7.19:
. that doesn't mean it can't use freedomware:
the spirit of Stallman's GPL is that
if you put software on any of my devices,
you have to give me the source code,
and allow me to change the software on my devices;
so, an online service can
use freedomware on its own servers
without giving you the code;
therefore, it can use GPLware
and still keep its in-house software a secret .]
Open source’s primary advantage,
is creating non-differentiating software [7.19:
that is producible by non-experts .]
By distributing these types of programs as open source
it is possible to share the cost and risk
of development among many parties.
. anyone who is interested in the software
can participate in enhancing it,
sharing the overhead of software development
and saving costs all around.
7.18: co.adds/openware/GPL owes legitimacy to OSI?:
Summary:
. OSI, an important, but long quiet,
open-source organization
is seeking to revitalize itself with a new
membership program.
By Steven J. Vaughan-Nichols
for Linux and Open Source | July 18, 2012
-- Updated 17:31 GMT (10:31 PDT)
Portland, OR:
There was a time that everyone in the
Linux and open-source world
knew about the Open Source Initiative (OSI).
It was, and still is, the group which manages
the Open Source Definition.
This is the core open-source defining document
for developers, governments, and businesses.
All the other open-source licensees
— Apache, BSD, GPL —
all[owe] some of their legitimately[legitimacy]
to  the OSI.
In recent years, though, the OSI has laid fallow.
Now, it wants to change that and once more become
a vital part of the open-source community.
me:
GPL owes legitimacy to OSI?
. the honourable Richard Stallman, founder of GPL,
has philosophical differences with OSI,
so I think you owe us an explanation
after asserting that
"All the other open-source licensees
—Apache, BSD, GPL—all[owe?]
some of their legitimately[legitimacy?]
to  the OSI."
. OSI is "the core open-source defining document
for developers, governments, and businesses" ?
. what does that have to do with GPL's legitimacy?!
. what legitimizes a legal document
is enforceability, and attractiveness;
do you know how large the GPL base is?

2010-03-31

GPL high-priority list

3.30: news.adds/openware/priority list:
fsf.org campaigns priority:
. FSF high-priority projects list
serves to foster the development of
projects that are important for
increasing the adoption and use
of free software and
free software operating systems .