Slashdot Mirror


SGI Releases OpenGL As Free Software

StoneLion writes "Since its release, the OpenGL code that is responsible for 3-D acceleration on GNU/Linux has been running on licenses that were accepted by neither the Free Software Foundation (FSF) nor the Open Source Initiative. Today, however, the FSF has announced that the licenses in question have been rewritten, the problems resolved, and the code freed. Peter Brown, executive director of the FSF, says, 'This represents a huge gift to the free software community.'"

21 of 167 comments (clear)

  1. How does this effect the OpenGL patents? by Black+Art · · Score: 5, Insightful

    There are still a number of patents covering portions of the OpenGL functions. Does this grant a license for use or are we stuck with partial implementations?

    --
    "Trademarks are the heraldry of the new feudalism."
    1. Re:How does this effect the OpenGL patents? by RiotingPacifist · · Score: 5, Informative

      IT completely removes the patent stuff from the license. So you can redistribute the code even if it breaks patents, but then of course your subject to the patent laws of your country

      --
      IranAir Flight 655 never forget!
  2. SGI's press release is pretty awesome too by Anonymous Coward · · Score: 5, Informative

    http://www.sgi.com/company_info/newsroom/press_releases/2008/september/opengl.html

    Free Software Foundation and Khronos Group Both Herald New License of Industry Standard Graphics Software

    SUNNYVALE, Calif. (Sept. 19, 2008) â" As software developers the world over prepare to mark the 25th anniversary of the GNU System, Silicon Graphics, Inc. (NASDAQ: SGIC) today announced it is releasing a new version of the SGI Free Software License B. The license, which now mirrors the free X11 license used by X.Org, further opens previously released SGI® graphics software that has set the industry standard for visualization software and has proven essential to GNU/Linux® and a host of applications.

    Today's announcement affects software created by SGI that forms the building blocks of many elements of today's gaming, visual computing, and immersive experiential technologies, including a wide range of proven visualization solutions provided by SGI.

    Previous SGI contributions to the free and open source community are now available under the new license. These contributions include the SGI® OpenGL® Sample Implementation, the GLXâ API and other GLX extensions. GLX provides the glue connecting OpenGL and the X Window Systemâ and is required by any OpenGL implementation using X. GLX is vital to a range of free and commercial software, including all major Linux distributions.

    SGI first released the software under a licensing model in 1999. But now SGI is pleased to release an updated version of the license that meets the free and open source software community's widely accepted definition of "free."

    "SGI has been one of the most ardent commercial supporters of free and open source software, so it was important to us that we continue to support the free software development community by releasing our earlier OpenGL-related contributions under this new license," said Steve Neuner, director of Linux, SGI. "This license ensures that all existing user communities will benefit, and their work can proceed unimpeded. Both Mesa and the X.org Project can continue to utilize this code in free software distributions of GNU/Linux. Now more than ever, software previously released by SGI under earlier GLX and SGI Free Software License B is free."

  3. Nice by gweihir · · Score: 4, Insightful

    Interfaces are one of the most important things in modern software creation. Interfaces are often established by implementations. This change by SGI makes sure OpenGL will stay used and even wider adopted. As far as I can see, it is the only graphics library standard that has the potential for long-term usage.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  4. The important lesson here is. by LWATCDR · · Score: 5, Insightful

    Don't be a jerk about it. From the article.

    "Someone came to me on IRC and asked if people should start sending angry faxes to SGI, telling them to please clean up their licenses. And I was like, 'No, that's not the right message right now.' We were trying to avoid that kind of reaction, because among the people in the GNewSense community, there was a visceral reaction initially, and it took some time for people to realize that we needed to give them a chance. And it really paid off. SGI was very willing to work with us throughout the entire process.""

    --
    See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    1. Re:The important lesson here is. by JohnFluxx · · Score: 5, Interesting

      I think it depends really.

      In the recent Ubuntu/Mozilla case, both Ubuntu and Fedora had behind-the-scenes quiet negotiations with Mozilla over the EULAs. However Mozilla insisted that it wanted and needed the EULA.

      It wasn't until there was a fairly big uproar about it did Mozilla come back to the table to renegotiate.

      So sometimes the squeaky wheel does get the grease :)

  5. Re:Good news! by nawcom · · Score: 4, Insightful

    Great news for the community. Now lets hope this helps redirect resources, so I can get those laptop drivers fixed, and then I can finally sleep/hibernate properly!

    I've never heard of ACPI depending on an API for generating polygons, but hey whateva.

  6. Big news by mnmn · · Score: 5, Interesting

    I'm surprised that opengl was never really 'open'. It now makes sense why it wasnt a part of glibc and/or xfree86 until recently.

    The opening of video card drivers and now opengl are major steps in the success of linux on the desktop (and for gamers).

    Just imagine, we can now add opengl to Heretic and Command and Conquer, and it can all still be very much free. I can't wait for when I can port Halflife2 to Linux.

    --
    "Give orange me give eat orange me eat orange give me eat orange give me you." -Nim Chimpsky
    1. Re:Big news by Ngarrang · · Score: 4, Funny

      Will this new benefit or hurt Duke Nukem Forever? This is the question we should all be pondering.

      --
      Bearded Dragon
    2. Re:Big news by Creepy · · Score: 4, Informative

      Mesa3D was open because it is not OpenGL - it is an OpenGL API compatible library, and therefore not subject to any licensing fees charged by SGI (OpenGL brand usage and licensing is usually paid for by hardware vendors). WINE is similar - it's a Windows and DirectX compatible library for Linux (i.e. it is not Windows or a Windows emulator).

      It looks like SGI is OK with releasing the API and associated royalties, but in a way that makes sense because they are really no longer involved with it (and I'm not even sure if they've collected royalties lately - in the 1990s I recall it was around $20000/vendor).

    3. Re:Big news by mikael · · Score: 5, Informative

      SGI offered a sample software implementation of an OpenGL device driver to hardware vendors. This source code would provide a software specification of the way that any hardware should behave. It could be used as a fallback if a hardware vendor didn't choose to implement a particular feature of OpenGL functionality directly in hardware. It would be the responsibility of the hardware vendor to choose what to implement in hardware and software. Early consumer boards just did the rasterization, and used the Intel MMX2/AMD 3DNow! instructions to do the TLC (transformation/lighting/clipping).

      A professional board or gaming card would do everything in hardware. Because of the way OpenGL is implemented, there are a multitude of ways of sending down geometry - any combination of vertices plus optional outward normals/texture coordinates/colors for triangles, quads, triangle strips, triangle fans, line or points. And these might be integers, 16-bit/32-bit/64-bit floating point. Each particular combination might or might not be optimized for the hardware. There was a big fuss in the past, because vendors chose only to optimize the particular combinations for the Quake game. Home developers were confused why their implementations would run slower than the real Quake.

      For every possible option at a particular layer (vertex transformation, vertex lighting, vertex clipping, triangle rasterization), there would be a function pointer choosing which function call to make - either to the software implementation or writing to hardware registers.

      Mesa-GL is a open-source implementation of the OpenGL specification, written by the open-source community and not SGI. OpenGL was originally a rewrite of SGI proprietary SGI-GL API which worked on all workstations from Indigo's to Extreme's. SGI was charging vendors a license fee for access to their software implementation, which included a verification test suite for hardware. Because of this, they were reluctant to make the software open source.

      But with the evolution of 3D hardware, the free availability of an open-source version of OpenGL and the possibility that programmers might even get to be able to use the GPU to write directly to the framebuffer once again, it is strategic for SGI to make this software open source.

      Before DirectX and OpenGL, game programmers only used either Mode 13 with 320x200x256 color palette (or other VESA 256 color modes) to write directly to the hardware. Programmers could just use whatever algorithm they could think of - use the 256 color-palette as a Z-buffer for rendering spheres, depth-shading effects, color cycling, sprite animation. Have 16 sub-palettes each a shade darker than the others and you could do shadow effects. Create a pixelmap C++ class that could be memory-mapped to the framebuffer, add some block copy, point drawing line drawing, textured triangle/quad filling routines and you have your own mini 3D API. Since the framebuffer itself was a pixelmap, you could use the framebuffer itself as a texture map (this technique was actually patented in hardware).

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  7. Re:Good news? by apathy+maybe · · Score: 5, Insightful

    The code was already "free" for a given definition of "free", however, three problems were identified.

    The old licences:

    • "forbid the distribution of code that infringes on somebody else's intellectual property rights"
    • distributors of the code are required to obey any export laws that might apply
    • require users to inform the distributor if they learn of any potential intellectual property infringement of code releases under the licenses

    As such, it was easy to modify the code, but it wasn't free or open enough by the standards of either the Free Software Foundation or the Open Source Initiative.

    OpenGL is a standard, just like Java is. The fact that there are many implementations of those standards doesn't mean that there is a problem. Besides which, it doesn't really matter, most people will code for the reference implementation (Sun Java and SGI OpenGL).

    --
    I wank in the shower.
  8. Let a hundred extensions bloom? by argent · · Score: 4, Insightful

    Um, OpenGL already has a documented extension mechanism that is widely used, by virtually every vendor, to provide documented and open access to their extensions. Changing the licensing on one implementation of the standard will not increase the fragmentation of OpenGL, and fragmentation of OpenGL has not led nVidia and ATI to drop it.

    In fact... looking at the listed extensions I see 15 _ATI_ extensions and 54 _NV_ extensions. :)

  9. Re:Good news! by BPPG · · Score: 5, Funny

    What are you talking about? Hibernation requires you to draw two large black polygons to cover your screen to save power.

    --
    What's the value of information that you don't know?
  10. Re:Good news! by nawcom · · Score: 4, Funny

    HAH! Mine only takes one!

  11. Pretty obvious why ... by slashdotlurker · · Score: 4, Insightful

    The response to the latest opengl release has been, to put it mildly, underwhelming. A number of opengl developers in the blogs I have read have declared intentions of moving over to directx. This is the way for opengl developers to get a bigger share of the open source developer mindshare and development effort to make up for the egg they laid earlier this year.

  12. Just to set the record straight. by Anonymous Coward · · Score: 5, Informative

    This wont magically solve your driver issues.
    This wont magically port your game to opengl.

    The openGL headers have always been available to compile against.

    This is the source for the reference implementation of openGL. It would be of interest if your planning on writing a 3D 'rendering' engine (not 3d game engine) from scratch, or are interested in how the opengl stack works.

    FYI, mesaGL's source has always been readily available and is based off SGI's implementation.

  13. Re:Is OpenGL a player anymore? by ckaminski · · Score: 5, Interesting

    OpenGL has NOT gone the way of the Dodo, and as far as I know, is still kingpin of the 3D visualization world outside the gaming community (CAD/CAM/Modelling).

    OpenGL was never very big in the gaming world either. Quake/HL was a standout in this regard, but most 3D game engines have been very custom, or based on DirectX - DirectX was sort of mandatory once game authors lost direct access to hardware.

  14. Unusual slashdot article by damn_registrars · · Score: 4, Funny

    ... How often do we see an article on SGI here that doesn't either forecast their demise or have updates on their latest bankruptcy filing?

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
  15. Seriously by DrYak · · Score: 4, Informative

    I can get those laptop drivers fixed, and then I can finally sleep/hibernate properly!

    I've never heard of ACPI depending on an API for generating polygons, but hey whateva.

    In short ACPI will take care to shut down and turn back on the power consumption of the PCIe bus. But on wake up, the *graphic drivers* will take care that everything, including the content of the graphical memory, etc. return to the exact same state, as if the 3D application running where never interrupted.

    Giving an opensource OpenGL 3.x leaves more time for the developers for other parts of the drivers : to develop a nice DRI2/TTM/GEM underneath fixing low level problems like sleep/wake-up among other.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  16. Re:Too little, too late by rk · · Score: 4, Insightful

    I wait for the day were the posts change from "Why don't my drivers work" to "Dude, wtf is the problem with this linux pos. This sux!!!'

    The funny thing is I always had more success being a bit insulting when I needed Linux help on a forum. If I asked "I can't get foo to work. I've read the docs and tried bar and baz, but it didn't help." I'd get crickets. If I said "Linux sucks because it can't do foo." Then a ton of fanboys would pile on, call me every name in the book, and then explain in exacting detail how foo can be done. They might've thought I'm a retard, but at least my question got answered. :-)