Wine book

Brian Vincent brian.vincent at gmail.com
Tue Nov 30 18:42:31 CST 2004


Just wanted to give everyone a heads up..

I followed up with Jeremy's email a few months ago about a publisher
wanting to put together a book on Wine.  Yep, I have no life and 400
pages can't be that hard to write.  Well, we started the ball rolling
and now it looks like it's going to happen.  I should be signing the
contract in a few days.  There's lots of details I thought you guys
might be interested in.

You'll find the chapter outlines[1] at the bottom of this email.  This
book is oriented at users and Winelib developers.  It's not a book
about how to hack Wine internals.  One thing I'll try to keep in mind
as I'm writing is how to entice people to get involved with
development.  I think it's important to try to get people involved in
the community.

I'm not going to be writing this alone.  Ira Krakow, a Boston native,
will be writing the Winelib parts.  I didn't feel comfortable doing
those and Ira had approached the publisher separately about doing a
book on porting Windows apps.  We've chatted a few times and I'm
confident that given his experience he'll do well.  I'm cc:ing him on
this email by way of introduction and I'm sure at some point in the
future he'll have a question or two (or 50.)

The publisher is Prentice-Hall.  Thus far they've been excellent to
work with and they really seem to just "get it" when it comes to open
source projects.  Specifically, this book will fall into their Bruce
Perens' Open Source Series [2].  After the book is published, it will
be available for a short time only in a dead tree version.  After a
few months it will be available under the Open Publication License
[3].  It's a good license and contains many things I think are
important.

Also, I'd like to thank everyone who reviewed the initial proposal. 
That process happened really fast and I wasn't even aware it had been
sent out for review until after you guys got the emails.  There was
lots of good feedback in there and I incorporated a lot of it in the
final proposal that got approved (you may even notice some changes in
the chapters below as a result.)  Some other things you guys mentioned
aren't specifically in this chapter outline, but I made some notes as
to what needs to be addressed.  Thanks again.

Anyone who didn't see that proposal, you didn't miss much.  It was
lots of marketspeak.  The key is the chapter outline below, so if you
have any comments about what I'm overlooking, _please_ let me know.

[1] Chapter outlines:

Title: "Wine: Running Windows Applications on Linux" [4]
1.	Wine Introduction[15 pages]
	What is Wine?
	How Can Wine Help You?
	An Introduction to Windows Components
	Overview of Wine's Components
	Recent Changes to Wine
	A History of the Wine Project
	How Can You Get Wine?

2.	Installing Wine [20 pages]
	System Requirements
	Bundled Versions
	Downloading Packaged Versions
	Accessing CVS
	Compiling and Installing Wine
	Uninstalling Wine

3.	Configuring Wine [35 pages]
	Introduction to Winecfg
	Windows Versions
	Libraries: Native vs. Builtin
	Application Settings
	Drive Configuration
	Serial and Parallel Ports
	Network Shares
	Fonts
	Printing
	Database Access

4.	Installing Applications [35 pages]
	Basic Installation
	Common Installation Pitfalls
	Resources to Help With Installation
	Adding Native Libraries
	Installing Games
	Copy Protection Pitfalls
	Using Native DirectX

5.	Installing Common Programs [35 pages]
	Microsoft Office
	Adobe Photoshop
	File Utilities
	Peer-to-Peer Applications
	Further Help: The Wine Application Database

6.	Linux, Wine, and Windows Integration [40 pages]
	Integrating with Desktop Environments
	KDE and GNOME Integration
	Wine Tools Introduction
	Wineshelllink
	Wineprefixcreate
	Regedit
	Understanding the Wine Registry
	Changing the Registry
	Importing an Existing Registry
	Using an Existing Windows Partition

7.	 Enterprise Deployment [30 pages]
	Licensing Considerations
	Understanding Windows and Wine Security
	Automating Deployment of Applications
	Scripting Wine
	Citrix Killer: Wine and the Linux Terminal Server Project
	Performance Tweaks
	Reporting Bugs and Working with Developers

8.	Commercial Alternatives: CodeWeaver's CrossOver Office [25 pages]
	Introduction to CrossOver Office
	Downloading and Installing CrossOver
	Configuring CrossOver
	Installing Applications with CrossOver

9.	Commercial Alternatives: TransGaming's Cedega [25 pages]
	Introduction to Cedega
	Downloading and Installing Cedega
	Configuring Cedega
	Installing Games with Cedega

10.	Introduction to Winelib [20 pages]
	Introduction to Winelib
	Licensing Considerations
	Portability Considerations
	Getting Started
	Understanding the Winelib toolkit
	A Roadmap for Porting
	Installation of the MinGW Compiler

11.	Using Winelib for Porting [45 pages]
	Installation of the MinGW compiler
	Moving From Visual Studio to MinGW
	Tips and Tricks for Changing Compilers
	Moving Development to Linux
	Using Winemaker
	Using the Wine Resource Compiler
	Using the Wine Message Compiler
	Linking it Together: winegcc
	Debugging with the Wine debugger

12.	Case Study: Porting a To-Be-Determined Application [30 pages]

13.	Advanced Porting Techniques [25 pages]
	C++ Problems
	Working with Microsoft Foundation Classes
	Working with Templates
	Moving From Visual Studio to MinGW

14.	dvanced Library Techniques [20 pages]
	Getting Started: Why Share Libraries?
	Using Linux Libraries with Winelib Applications
	Using Windows Libraries with Winelib Applications
	Why Wine is not a Shared Library

[2] Peren's Open Source Series info: http://phptr.com/promotion/1484?redir=1
[3] OPL license: http://www.opencontent.org/openpub/
a good discussion of it: http://lwn.net/Articles/108250/
[4]  With regards to the title, I'll be sure to mention in Wine runs
on other operating systems.

PS.  This still leaves the door open for someone to write an O'Reilly book.  

PPS.  I'd like to think this won't affect WWN because I really have no
life.  However, that's not too realistic.  Hopefully WWN won't suffer
too much.

- Brian Vincent



More information about the wine-devel mailing list