Forgot your password?
typodupeerror
Software Linux

SGI Releases OpenGL As Free Software 167

Posted by ScuttleMonkey
from the let-my-graphics-go dept.
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.'"
This discussion has been archived. No new comments can be posted.

SGI Releases OpenGL As Free Software

Comments Filter:
  • by Anonymous Coward on Friday September 19, 2008 @12:08PM (#25072453)

    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."

  • Re:Quick question... (Score:3, Informative)

    by nawcom (941663) on Friday September 19, 2008 @12:17PM (#25072607) Homepage
    Complaining? About what? For Nvidia, what you would be looking for is PureVideo HD. I know that the Geforce 8600gt has it, and you can get that for about $80 [newegg.com].
  • by RiotingPacifist (1228016) on Friday September 19, 2008 @12:19PM (#25072637)

    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

  • Re:Good news? (Score:3, Informative)

    by MechaBlue (1068636) on Friday September 19, 2008 @12:24PM (#25072699)
    One of the biggest complaints about OpenGL is that it is slow to evolve and doesn't reflect real world needs as well as Direct X. By opening it up, this allows for unofficial extensions that will be based on the standard but will help fill in some of these gaps. The most popular of these extensions will become part of future standards with the added benefits of already having an existing implementation and having been used in the real-world.
  • by Anonymous Coward on Friday September 19, 2008 @12:34PM (#25072845)

    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.

  • by mihalis (28146) on Friday September 19, 2008 @12:45PM (#25072981) Homepage

    they should fix the GLUT license.

  • Re:Good news? (Score:3, Informative)

    by brunascle (994197) * on Friday September 19, 2008 @12:49PM (#25073067)
    They took issue with the first clause because, with the current patent situation in the US, anyone could be violating someone's IP rights and not even know it. The 2nd clause, because it's kind of redundant. It's already against the law, why put it in the license?
  • Re:Good news! (Score:1, Informative)

    by Anonymous Coward on Friday September 19, 2008 @01:05PM (#25073337)

    A rectangle is composed of two triangles, the basic render primitive in graphics.

  • Re:Big news (Score:5, Informative)

    by Creepy (93888) on Friday September 19, 2008 @01:13PM (#25073491) Journal

    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).

  • by Creepy (93888) on Friday September 19, 2008 @01:20PM (#25073593) Journal

    GLUT is just a bunch of convenience methods, and is decade old abandonware, anyway - use freeglut [sourceforge.net] instead.

  • by Anonymous Coward on Friday September 19, 2008 @01:27PM (#25073725)

    http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf

  • by oldhack (1037484) on Friday September 19, 2008 @01:30PM (#25073781)

    Ehem, for those less fortunate comrades outside the US, "lay an egg" is a baseball expression meaning "make an error"

    Carry on. :-)

  • by Anonymous Coward on Friday September 19, 2008 @01:40PM (#25073989)

    Only you can prevent word mangling.

    The word "your" is entirely different than the phrase "you are" and its contraction "you're".

    This English service announcement has been brought to you by the letter "r" and the number 7.

  • Seriously (Score:5, Informative)

    by DrYak (748999) on Friday September 19, 2008 @01:50PM (#25074189) Homepage

    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.

  • by damn_registrars (1103043) <damn.registrars@gmail.com> on Friday September 19, 2008 @01:57PM (#25074311) Homepage Journal

    I was tempted to post: "Holy crap, this is big news!! SGI is still in business!!!"

    Surprisingly enough, not only is SGI still in business, but they'll even sell you a workstation with a MIPS processor [sgi.com] (if you really want one).

  • by isaac (2852) on Friday September 19, 2008 @02:20PM (#25074739)

    They are blue or purple and oddly shaped MIPS-powered toy dinosaurs(by today's standards), but they are rock-solid and they NEVER crash or skip a beat.

    I love me some SGI gear, but 'NEVER crash' wasn't their strong suit - at least not compared to any other proprietary UNIX system vendor of the era.

    They built racehorses - fancy, complex, high-bandwidth, expensive. They didn't skip a beat when blasting data around, though, at least until you got to the network.

    -Isaac

  • Re:Big news (Score:4, Informative)

    by Surt (22457) on Friday September 19, 2008 @02:22PM (#25074769) Homepage Journal

    Usually direct hardware access. The metal is standard, so bare metal writes are fine.

  • Re:Quick question... (Score:4, Informative)

    by JackieBrown (987087) <dbroome@gmail.com> on Friday September 19, 2008 @03:10PM (#25075705)

    Nvidia does not support PureVideo HD in linux.

    http://www.nvnews.net/vbulletin/showthread.php?t=106584 [nvnews.net]

  • by PainKilleR-CE (597083) on Friday September 19, 2008 @04:47PM (#25077577)

    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.

    While I agree with your first statement (OpenGL is still big outside gaming), I disagree with this part. The Quake line of engines were very widely used in games in the mid-to-late 90s, and because of the impact they had on the gaming world most game developers developed for OpenGL or Glide (or both). Of course, since Glide only worked on 3dfx, and OpenGL never worked really well on 3dfx (not at all for most of the time they were putting out chips), there wasn't a significant overlap in the markets for the two APIs. The only reason anyone got away with not developing for OpenGL early on was that so few people expected good hardware acceleration from non-3dfx cards, so people that had 3dfx played in Glide, and everyone else played with software rendering.

    Once software rendering started dropping out of the market (as nVidia started taking market share with the GeForce line, and on-board chips started doing some hardware 3D), different game engines made choices between Direct3D and OpenGL, but many of them supported both.

    DirectX 3 was the first version anyone but Microsoft really took seriously, and it proliferated in non-3D games quite quickly. DirectX 5 pretty well solidified its place in gaming, but not quite in 3D (and DirectX 4 was canceled, as 4 and 5 were in simultaneous development, but the developers wanted the features in 5 and MS axed 4 to get 5 out more quickly).

    There were a few things that moved people to Direct3D, though:
    - developing OpenGL extensions in-house consumes a lot of resources, and these are wasted if the features you're implementing already exist somewhere else (such as in Direct3D)
    - On Windows, you were probably already using the Direct X API for DirectInput and DirectSound (and it should be noted that DirectInput is now deprecated, and many game developers use other APIs for sound).

    OpenGL was strong enough in 1997 that MS started working with SGI to unify the OpenGL and Direct3D APIs. Of course, while MS was supposed to be working with them on Fahrenheit, they also managed to release DirectX 5, 6, and 7, all of which further increased MS' market share in games (especially 3D games where they were not doing well with Direct X 1-3), meanwhile OpenGL didn't hit version 2.0 until 2005. Even for a standard, OpenGL moved pretty slowly, and rejected more ideas from game developers than Microsoft did with DirectX/3D.

  • Re:Big news (Score:5, Informative)

    by mikael (484) on Friday September 19, 2008 @05:08PM (#25077919)

    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).

  • by Tinyn (1100891) on Friday September 19, 2008 @05:19PM (#25078129)
    A significant portion of those NV and ATI (and SGI and APPLE and etc) specific extensions have been promoted to cross-manufacturer standards when a EXT or ARB version of the extension is created. When DirectX gets a new feature added to the cards they get exposed in OpenGL as a (usually) NV extention first, and then when the next OpenGL version comes out there would be a EXT or ARB extention for it that will probably work on ATI cards by that time as well.
  • by TheRaven64 (641858) on Friday September 19, 2008 @05:52PM (#25078797) Journal

    I think this has the largest number of comments from people who have absolutely no clue what the story is about than any other Slashdot story.

    The relevant code was already released to the X Consortium and has been distributed with XFree86 and X.org for well over a decade. The license was badly worded and when someone noticed that it was basically impossible to comply with (and therefore not Free Software) and so SGI fixed this to clarify the original intent of the license.

  • Re:Big news (Score:2, Informative)

    by UnknownSoldier (67820) on Saturday September 20, 2008 @12:39AM (#25082423)

    Having worked on PS2 and Wii renderers...

    PS2 - custom VU1 code that stuffs the GS registers
    Wii - Nintendo's GX library (very OpenGL-like)

    --
    You don't _know_ a subject, until you _do_ it.

Some people have a great ambition: to build something that will last, at least until they've finished building it.

Working...